Skip to content

chore(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.5 to 3.5.6 #196

chore(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.5 to 3.5.6

chore(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.5 to 3.5.6 #196

Workflow file for this run

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@v6
- 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@v6
- 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
steps:
- name: Checkout
uses: actions/checkout@v6
- 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 test
feature-tests:
name: Feature Tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- 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 test
folia-smoke-test:
name: Folia Smoke Test
runs-on: ubuntu-latest
needs: [unit-tests, feature-tests]
steps:
- name: Checkout
uses: actions/checkout@v6
- 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 latest Folia build
id: folia
run: |
MC_VERSION=$(curl -fsSL https://api.papermc.io/v2/projects/folia | \
python3 -c "import sys,json; vs=json.load(sys.stdin)['versions']; print(vs[-1])")
BUILD=$(curl -fsSL "https://api.papermc.io/v2/projects/folia/versions/${MC_VERSION}/builds" | \
python3 -c "import sys,json; builds=json.load(sys.stdin)['builds']; print(builds[-1]['build'])")
JAR_NAME=$(curl -fsSL "https://api.papermc.io/v2/projects/folia/versions/${MC_VERSION}/builds/${BUILD}" | \
python3 -c "import sys,json; d=json.load(sys.stdin); print(d['downloads']['application']['name'])")
echo "mc_version=${MC_VERSION}" >> "$GITHUB_OUTPUT"
echo "build=${BUILD}" >> "$GITHUB_OUTPUT"
echo "jar_name=${JAR_NAME}" >> "$GITHUB_OUTPUT"
echo "Resolved: Folia ${MC_VERSION} build ${BUILD} (${JAR_NAME})"
- name: Download Folia server JAR
run: |
mkdir -p smoke-server/plugins
curl -fsSL \
"https://api.papermc.io/v2/projects/folia/versions/${{ steps.folia.outputs.mc_version }}/builds/${{ steps.folia.outputs.build }}/downloads/${{ steps.folia.outputs.jar_name }}" \
-o smoke-server/folia.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 folia.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 Folia 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 "Folia 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@v4
with:
name: folia-smoke-server-log
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@v6
- 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 }}