chore(deps): bump org.junit.jupiter:junit-jupiter from 6.1.1 to 6.1.2 #221
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| release: | |
| types: | |
| - published | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| cache: maven | |
| - name: Run Spotless lint | |
| run: mvn -B -ntp spotless:check | |
| module-build: | |
| name: Build ${{ matrix.module }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| module: | |
| - ezrtp-common | |
| - ezrtp-bukkit | |
| - ezrtp-paper | |
| - ezrtp-spigot | |
| - ezrtp-purpur | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| cache: maven | |
| - name: Build module | |
| run: mvn -B -ntp -pl ${{ matrix.module }} -am -DskipTests -Dspotless.check.skip=true package | |
| unit-tests: | |
| name: Unit Tests | |
| runs-on: ubuntu-latest | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| cache: maven | |
| - name: Run unit tests | |
| run: | | |
| mvn -B -ntp -pl ezrtp-bukkit,ezrtp-paper -am -Dspotless.check.skip=true \ | |
| org.jacoco:jacoco-maven-plugin:0.8.12:prepare-agent \ | |
| test \ | |
| org.jacoco:jacoco-maven-plugin:0.8.12:report | |
| - name: Upload coverage to Codecov | |
| if: ${{ env.CODECOV_TOKEN != '' }} | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ env.CODECOV_TOKEN }} | |
| files: ./ezrtp-common/target/site/jacoco/jacoco.xml,./ezrtp-bukkit/target/site/jacoco/jacoco.xml,./ezrtp-paper/target/site/jacoco/jacoco.xml | |
| flags: unit | |
| name: ezrtp-unit | |
| feature-tests: | |
| name: Feature Tests | |
| runs-on: ubuntu-latest | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| cache: maven | |
| - name: Run feature tests | |
| run: | | |
| mvn -B -ntp -pl ezrtp-bukkit -am -Pmessage-tests -Dspotless.check.skip=true \ | |
| org.jacoco:jacoco-maven-plugin:0.8.12:prepare-agent \ | |
| test \ | |
| org.jacoco:jacoco-maven-plugin:0.8.12:report | |
| - name: Upload feature coverage to Codecov | |
| if: ${{ env.CODECOV_TOKEN != '' }} | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ env.CODECOV_TOKEN }} | |
| files: ./ezrtp-common/target/site/jacoco/jacoco.xml,./ezrtp-bukkit/target/site/jacoco/jacoco.xml,./ezrtp-paper/target/site/jacoco/jacoco.xml | |
| flags: feature | |
| name: ezrtp-feature | |
| server-smoke-test: | |
| name: Server Smoke Test (${{ matrix.name }}) | |
| runs-on: ubuntu-latest | |
| needs: [unit-tests, feature-tests] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: folia-latest | |
| project: folia | |
| version_selector: latest | |
| - name: paper-1.13 | |
| project: paper | |
| version_selector: 1.13 | |
| env: | |
| PAPERMC_USER_AGENT: EzRTP-CI/1.0 (https://github.com/${{ github.repository }}) | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| cache: maven | |
| - name: Build plugin JARs | |
| run: | | |
| mvn -B -ntp -pl ezrtp-bukkit,ezrtp-paper -am -DskipTests -Dspotless.check.skip=true \ | |
| package | |
| - name: Resolve server build (${{ matrix.name }}) | |
| id: server | |
| run: | | |
| PROJECT="${{ matrix.project }}" | |
| PROJECT_URL="https://fill.papermc.io/v3/projects/${PROJECT}" | |
| SELECTOR="${{ matrix.version_selector }}" | |
| MC_VERSION=$(curl -fsSL -H "User-Agent: ${PAPERMC_USER_AGENT}" "${PROJECT_URL}" | \ | |
| python3 -c "import re,sys,json; data=json.load(sys.stdin)['versions']; versions=[v for group in data.values() for v in group]; selector=sys.argv[1]; part=lambda p:(0,int(p)) if p.isdigit() else (1,p); key=lambda v: tuple(part(p) for p in re.split(r'[.-]', v)); uniq=sorted(set(versions), key=key); matches=[v for v in uniq if v == selector or v.startswith(selector + '.')]; print(uniq[-1] if selector == 'latest' else (matches[0] if matches else (_ for _ in ()).throw(SystemExit(f'No versions matching selector {selector}'))))" "$SELECTOR") | |
| BUILDS_JSON=$(curl -fsSL -H "User-Agent: ${PAPERMC_USER_AGENT}" "${PROJECT_URL}/versions/${MC_VERSION}/builds") | |
| BUILD=$(printf '%s' "$BUILDS_JSON" | \ | |
| python3 -c "import sys,json; builds=json.load(sys.stdin); stable=[b for b in builds if b.get('channel') == 'STABLE']; selected=(stable[0] if stable else builds[0]); print(selected['id'])") | |
| DOWNLOAD_URL=$(printf '%s' "$BUILDS_JSON" | \ | |
| python3 -c "import sys,json; builds=json.load(sys.stdin); stable=[b for b in builds if b.get('channel') == 'STABLE']; selected=(stable[0] if stable else builds[0]); print(selected['downloads']['server:default']['url'])") | |
| echo "project=${PROJECT}" >> "$GITHUB_OUTPUT" | |
| echo "mc_version=${MC_VERSION}" >> "$GITHUB_OUTPUT" | |
| echo "build=${BUILD}" >> "$GITHUB_OUTPUT" | |
| echo "download_url=${DOWNLOAD_URL}" >> "$GITHUB_OUTPUT" | |
| echo "Resolved: ${PROJECT} ${SELECTOR} -> ${MC_VERSION} build ${BUILD}" | |
| - name: Download server JAR | |
| run: | | |
| mkdir -p smoke-server/plugins | |
| curl -fsSL -H "User-Agent: ${PAPERMC_USER_AGENT}" \ | |
| "${{ steps.server.outputs.download_url }}" \ | |
| -o smoke-server/server.jar | |
| - name: Copy plugin JARs | |
| run: | | |
| cp ezrtp-bukkit/target/EzRTP-*.jar smoke-server/plugins/EzRTP.jar | |
| cp ezrtp-paper/target/ezrtp-paper-*.jar smoke-server/plugins/EzRTPPaperModule.jar | |
| - name: Configure server | |
| run: | | |
| echo "eula=true" > smoke-server/eula.txt | |
| printf '%s\n' \ | |
| "online-mode=false" \ | |
| "level-type=flat" \ | |
| "generate-structures=false" \ | |
| "max-players=0" \ | |
| > smoke-server/server.properties | |
| - name: Run server and wait for ready | |
| run: | | |
| cd smoke-server | |
| java -Xms512m -Xmx1g -jar server.jar --nogui > server.log 2>&1 & | |
| SERVER_PID=$! | |
| ELAPSED=0 | |
| while [ $ELAPSED -lt 120 ]; do | |
| sleep 2; ELAPSED=$((ELAPSED + 2)) | |
| if grep -q "Done (" server.log 2>/dev/null; then | |
| echo "Server ready after ${ELAPSED}s"; break | |
| fi | |
| if ! kill -0 $SERVER_PID 2>/dev/null; then | |
| echo "Server process exited after ${ELAPSED}s"; break | |
| fi | |
| done | |
| kill $SERVER_PID 2>/dev/null || true | |
| wait $SERVER_PID 2>/dev/null || true | |
| - name: Assert no EzRTP errors | |
| run: | | |
| LOG=smoke-server/server.log | |
| if grep -qiE "SEVERE.*[Ee]z[Rr][Tt][Pp]|Could not load.*[Ee]z[Rr][Tt][Pp]|Error.*[Ee]z[Rr][Tt][Pp]" "$LOG"; then | |
| echo "::error::EzRTP logged errors on server startup:" | |
| grep -iE "SEVERE.*[Ee]z[Rr][Tt][Pp]|Could not load.*[Ee]z[Rr][Tt][Pp]|Error.*[Ee]z[Rr][Tt][Pp]" "$LOG" | |
| exit 1 | |
| fi | |
| if grep -q "Ready\." "$LOG"; then | |
| echo "Server smoke test passed — EzRTP reached Ready state." | |
| else | |
| echo "::warning::EzRTP 'Ready.' not found in log — server may not have finished loading within the timeout" | |
| fi | |
| - name: Upload server log | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: smoke-server-log-${{ matrix.name }} | |
| path: smoke-server/server.log | |
| retention-days: 7 | |
| publish-github-packages: | |
| name: Publish to GitHub Packages | |
| if: github.event_name == 'release' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| cache: maven | |
| server-id: github | |
| server-username: GITHUB_ACTOR | |
| server-password: GITHUB_TOKEN | |
| - name: Publish Maven artifacts | |
| run: mvn -B -ntp -DskipTests -Dspotless.check.skip=true deploy -DaltDeploymentRepository=github::default::https://maven.pkg.github.com/${{ github.repository }} | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |