75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
name: Server integrations
|
|
|
|
on:
|
|
push:
|
|
branches: ['**']
|
|
paths: ['integrations/**', '.github/workflows/integrations.yml']
|
|
pull_request:
|
|
paths: ['integrations/**', '.github/workflows/integrations.yml']
|
|
workflow_dispatch:
|
|
workflow_call:
|
|
inputs:
|
|
version:
|
|
type: string
|
|
default: '0.4.0'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
paper:
|
|
name: Paper and protocol tests
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: actions/setup-java@v5
|
|
with:
|
|
distribution: temurin
|
|
java-version: '21'
|
|
- uses: gradle/actions/setup-gradle@v4
|
|
with:
|
|
gradle-version: '8.10.2'
|
|
- run: gradle -p integrations :common:test :paper:build -PreleaseVersion="${{ inputs.version || '0.4.0' }}"
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: server-paper
|
|
path: integrations/paper/build/libs/scopenet-paper-*.jar
|
|
if-no-files-found: error
|
|
- uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: integration-test-reports
|
|
path: integrations/common/build/reports/tests/
|
|
|
|
mods:
|
|
name: ${{ matrix.loader }} / ${{ matrix.mc.version }}
|
|
runs-on: ubuntu-24.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
loader: [fabric, forge]
|
|
mc:
|
|
- { version: '1.20.1', java: '21', gradle: '8.10.2' }
|
|
- { version: '1.21.1', java: '21', gradle: '8.10.2' }
|
|
- { version: '26.1.2', java: '25', gradle: '9.6.0' }
|
|
- { version: '26.2', java: '25', gradle: '9.6.0' }
|
|
- { version: '26.3', java: '25', gradle: '9.6.0' }
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: actions/setup-java@v5
|
|
with:
|
|
distribution: temurin
|
|
java-version: ${{ matrix.mc.java }}
|
|
- uses: gradle/actions/setup-gradle@v4
|
|
with:
|
|
gradle-version: ${{ matrix.mc.gradle }}
|
|
- run: gradle -p integrations -Ploader=${{ matrix.loader }} -PmcVersion=${{ matrix.mc.version }} -PreleaseVersion="${{ inputs.version || '0.4.0' }}" :${{ matrix.loader }}:build
|
|
- name: Audit Fabric hooks during server bootstrap (no world startup)
|
|
if: matrix.loader == 'fabric'
|
|
run: gradle -p integrations -Ploader=fabric -PmcVersion=${{ matrix.mc.version }} -PreleaseVersion="${{ inputs.version || '0.4.0' }}" -PverifyMixins=true :fabric:runServer
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: server-${{ matrix.loader }}-${{ matrix.mc.version }}
|
|
path: integrations/${{ matrix.loader }}/build/libs/scopenet-${{ matrix.loader }}-${{ matrix.mc.version }}-*.jar
|
|
if-no-files-found: error
|