fabric/.github/workflows/build.yml

84 lines
2.4 KiB
YAML

name: Build
on: [push, pull_request, merge_group]
jobs:
build:
strategy:
matrix:
java: [17-ubuntu, 21-ubuntu]
runs-on: ubuntu-22.04
container:
image: mcr.microsoft.com/openjdk/jdk:${{ matrix.java }}
options: --user root
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: gradle/wrapper-validation-action@v1
- run: ./gradlew check build publishToMavenLocal --stacktrace --warning-mode=fail
- uses: Juuxel/publish-checkstyle-report@v1
if: ${{ failure() }}
with:
reports: |
**/build/reports/checkstyle/*.xml
- uses: actions/upload-artifact@v3
with:
name: Artifacts
path: build/libs/
- uses: actions/upload-artifact@v3
with:
name: Artifacts
path: ./*/build/libs/
- uses: actions/upload-artifact@v3
with:
name: Artifacts
path: build/publishMods/
- uses: actions/upload-artifact@v3
with:
name: Maven Local
path: /root/.m2/repository/net/fabricmc/
client_test:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: '17'
- name: Run Auto test Client
uses: modmuss50/xvfb-action@v1
with:
run: ./gradlew runProductionAutoTestClient --stacktrace --warning-mode=fail
- uses: actions/upload-artifact@v3
if: always()
with:
name: Test Screenshots
path: run/screenshots
server_test:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: '17'
- run: mkdir run && echo "eula=true" >> run/eula.txt
- run: ./gradlew runProductionAutoTestServer --stacktrace --warning-mode=fail
check_resources:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: '17'
- run: ./gradlew generateResources --stacktrace --warning-mode=fail
- run: if [ -n "$(git status --porcelain)" ]; then exit 1; fi