mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-07-13 02:15:46 +00:00
91 lines
2.4 KiB
YAML
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
|