Files
Iris/.github/workflows/ci.yml
T
Brian Neumann-Fopiano 0a7a531646 Dont ask
2026-07-09 13:54:59 -04:00

91 lines
2.4 KiB
YAML

name: CI
on:
push:
pull_request:
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
verify:
name: Verify (core:check + spi:build)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '25'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Run core checks and build spi
run: ./gradlew :core:check :spi:build :probe:deserializationProbe --console=plain --stacktrace
build-artifacts:
name: Build ${{ matrix.platform }}
needs: verify
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- platform: bukkit
task: buildBukkit
- platform: fabric
task: buildFabric
- platform: forge
task: buildForge
- platform: neoforge
task: buildNeoforge
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '25'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build ${{ matrix.platform }} artifact
run: ./gradlew ${{ matrix.task }} --console=plain --stacktrace
- name: Upload ${{ matrix.platform }} jar
uses: actions/upload-artifact@v4
with:
name: iris-${{ matrix.platform }}
path: dist/*.jar
retention-days: 14
if-no-files-found: error
release-bundle:
name: Release bundle (buildAll)
if: startsWith(github.ref, 'refs/tags/v')
needs: verify
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 25
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '25'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build all platforms
run: ./gradlew buildAll --console=plain --stacktrace
- name: Upload release bundle
uses: actions/upload-artifact@v4
with:
name: iris-release-bundle
path: dist/*.jar
retention-days: 90
if-no-files-found: error