name: Gradle CI on: push: branches: - '**' paths-ignore: - 'README.md' - 'LICENSE' - '.gitignore' - '.editorconfig' - 'changelogs/**' pull_request: branches: - '**' paths-ignore: - 'README.md' - 'LICENSE' - '.gitignore' - '.editorconfig' - 'changelogs/**' - 'src/*/resources/lang/*' workflow_dispatch: jobs: build: runs-on: ubuntu-latest name: Build with gradle steps: - uses: actions/checkout@v3 - name: Set up JDK uses: actions/setup-java@v3 with: java-version: 17 distribution: temurin - uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper ./.gradle/loom-cache key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build --no-daemon - uses: actions/upload-artifact@v3 with: path: build/libs/*.jar client_test: runs-on: ubuntu-latest name: In-game test steps: - uses: actions/checkout@v3 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 runTestmod --stacktrace --warning-mode=fail --no-daemon - name: Upload test screenshots uses: actions/upload-artifact@v3 if: always() with: name: test-screenshots path: run/screenshots