diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e0bc7d3..a42299c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,6 +4,10 @@ on: pull_request: branches: [ v2.x, v3.x ] +permissions: + contents: read + id-token: write + jobs: unit-tests: name: Unit tests @@ -28,7 +32,15 @@ jobs: cd /tmp/MockBukkit && ./gradlew publishToMavenLocal -xtest -xjavadoc - name: Run unit tests - run: mvn -B -ntp -Dmockbukkit.version="$MOCKBUKKIT_VERSION" test + run: mvn -B -ntp -Dmockbukkit.version="$MOCKBUKKIT_VERSION" org.jacoco:jacoco-maven-plugin:0.8.14:prepare-agent test org.jacoco:jacoco-maven-plugin:0.8.14:report + + - name: Upload unit test coverage to Codecov + uses: codecov/codecov-action@v5 + with: + use_oidc: true + files: ./target/site/jacoco/jacoco.xml + flags: unit + name: unit-tests feature-tests: name: Feature tests @@ -54,7 +66,15 @@ jobs: cd /tmp/MockBukkit && ./gradlew publishToMavenLocal -xtest -xjavadoc - name: Run feature tests - run: mvn -B -ntp -Pfeature-tests -Dtest=*FeatureTest -Dmockbukkit.version="$MOCKBUKKIT_VERSION" test + run: mvn -B -ntp -Pfeature-tests -Dtest=*FeatureTest -Dmockbukkit.version="$MOCKBUKKIT_VERSION" org.jacoco:jacoco-maven-plugin:0.8.14:prepare-agent test org.jacoco:jacoco-maven-plugin:0.8.14:report + + - name: Upload feature test coverage to Codecov + uses: codecov/codecov-action@v5 + with: + use_oidc: true + files: ./target/site/jacoco/jacoco.xml + flags: feature + name: feature-tests # ────────────────────────────────────────────────────────────────────────── # SMOKE TESTS — verify EzAfk loads without errors on each server platform. @@ -143,6 +163,16 @@ jobs: fi done kill $SERVER_PID 2>/dev/null || true + for _ in $(seq 1 15); do + if ! kill -0 $SERVER_PID 2>/dev/null; then + break + fi + sleep 1 + done + if kill -0 $SERVER_PID 2>/dev/null; then + echo "Server did not stop after SIGTERM; forcing shutdown" + kill -9 $SERVER_PID 2>/dev/null || true + fi wait $SERVER_PID 2>/dev/null || true - name: Assert no EzAfk errors @@ -235,6 +265,16 @@ jobs: fi done kill $SERVER_PID 2>/dev/null || true + for _ in $(seq 1 15); do + if ! kill -0 $SERVER_PID 2>/dev/null; then + break + fi + sleep 1 + done + if kill -0 $SERVER_PID 2>/dev/null; then + echo "Server did not stop after SIGTERM; forcing shutdown" + kill -9 $SERVER_PID 2>/dev/null || true + fi wait $SERVER_PID 2>/dev/null || true - name: Assert no EzAfk errors @@ -327,6 +367,16 @@ jobs: fi done kill $SERVER_PID 2>/dev/null || true + for _ in $(seq 1 15); do + if ! kill -0 $SERVER_PID 2>/dev/null; then + break + fi + sleep 1 + done + if kill -0 $SERVER_PID 2>/dev/null; then + echo "Server did not stop after SIGTERM; forcing shutdown" + kill -9 $SERVER_PID 2>/dev/null || true + fi wait $SERVER_PID 2>/dev/null || true - name: Assert no EzAfk errors diff --git a/.mvn/maven.config b/.mvn/maven.config new file mode 100644 index 0000000..4961335 --- /dev/null +++ b/.mvn/maven.config @@ -0,0 +1 @@ +-Dmockbukkit.version=4.113.1 diff --git a/pom.xml b/pom.xml index 9a91610..ba8fe37 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,9 @@ 26.1.2.build.57-stable 3.1.0 7.0.13 + 26.0.2-1 + 2.41.0 + 2.25.2 3.15.0 3.6.2 1.3.2 @@ -64,8 +67,62 @@ paper-api ${paper.version} provided + + + com.google.code.gson + gson + + + org.apache.commons + commons-lang3 + + + org.slf4j + slf4j-api + + + org.jetbrains + annotations + + + + com.google.code.gson + gson + 2.11.0 + provided + + + com.google.errorprone + error_prone_annotations + + + + + com.google.errorprone + error_prone_annotations + ${errorprone.annotations.version} + provided + + + org.jetbrains + annotations + ${jetbrains.annotations.version} + provided + + + org.apache.logging.log4j + log4j-api + ${log4j.api.version} + provided + + + org.slf4j + slf4j-api + 2.0.17 + provided + org.bstats bstats-bukkit @@ -77,6 +134,32 @@ worldguard-bukkit ${worldguard.version} provided + + + it.unimi.dsi + fastutil + + + org.yaml + snakeyaml + + + com.google.guava + guava + + + com.google.code.gson + gson + + + org.bstats + bstats-bukkit + + + org.apache.logging.log4j + log4j-api + +