From 3ba9acc76e923f4059402ed93de743f1aeb3aded Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:29:32 +0200 Subject: [PATCH 01/14] Create test-mc-versions.yml --- .github/workflows/test-mc-versions.yml | 86 ++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/test-mc-versions.yml diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml new file mode 100644 index 000000000..db9a43453 --- /dev/null +++ b/.github/workflows/test-mc-versions.yml @@ -0,0 +1,86 @@ +name: MC Plugin Compatibility Test + +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened] + +jobs: + test-minecraft-versions: + runs-on: self-hosted + strategy: + matrix: + mc_version: [1.18.2, 1.19.4, 1.20.6, 1.21.7] + env: + ARTIFACT_NAME: "EternalCore Dev Build" + PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Download plugin artifact from previous workflow + uses: actions/download-artifact@v3 + with: + name: ${{ env.ARTIFACT_NAME }} + path: ./artifact + + - name: Find plugin JAR file + id: find-jar + run: | + PLUGIN_JAR=$(find ./artifact -name 'EternalCore*.jar' | head -n 1) + echo "PLUGIN_JAR=$PLUGIN_JAR" >> $GITHUB_ENV + echo "Found plugin jar: $PLUGIN_JAR" + if [ -z "$PLUGIN_JAR" ]; then + echo "Plugin JAR not found!" + exit 1 + fi + + - name: Setup PaperMC server for version ${{ matrix.mc_version }} + run: | + mkdir mc-server + cd mc-server + BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds" | jq '.builds | max') + echo "Downloading Paper ${{ matrix.mc_version }} build $BUILD_NUMBER" + wget https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds/${BUILD_NUMBER}/downloads/paper-${{ matrix.mc_version }}-${BUILD_NUMBER}.jar -O paper.jar + mkdir plugins + cp ../${{ env.PLUGIN_JAR }} plugins/ + + - name: Agree to EULA + run: echo "eula=true" > mc-server/eula.txt + + - name: Configure server.properties to speed up startup + run: | + cat > mc-server/server.properties < mc-server/bukkit.yml < server.log 2>&1 & + SERVER_PID=$! + echo "Server started with PID $SERVER_PID" + sleep 60 + kill $SERVER_PID + wait $SERVER_PID || true + echo "Checking logs for errors..." + if grep -i -E 'error|exception|failed' server.log; then + echo "❌ Errors found in server logs for version ${{ matrix.mc_version }}" + cat server.log + exit 1 + else + echo "✅ No errors found in server logs for version ${{ matrix.mc_version }}" + fi From 8578de2abac9d44e27e4c8c6269797ba5e666339 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:31:32 +0200 Subject: [PATCH 02/14] use v4 of download artifact. --- .github/workflows/test-mc-versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index db9a43453..dcbb8c843 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v4 - name: Download plugin artifact from previous workflow - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.ARTIFACT_NAME }} path: ./artifact From 2d1e8759a3d4978284fa06f76c147cbd07124322 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:35:09 +0200 Subject: [PATCH 03/14] test --- .github/workflows/test-mc-versions.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index dcbb8c843..d67f5d7bd 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -1,6 +1,10 @@ name: MC Plugin Compatibility Test on: + workflow_run: + workflows: ["Java CI with Gradle"] + types: + - completed push: branches: - master From 5361c9f723678ec723ca730b965452b44cce9889 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:37:55 +0200 Subject: [PATCH 04/14] TEST --- .github/workflows/test-mc-versions.yml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index d67f5d7bd..2d6e3305c 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -1,10 +1,6 @@ name: MC Plugin Compatibility Test on: - workflow_run: - workflows: ["Java CI with Gradle"] - types: - - completed push: branches: - master @@ -18,22 +14,27 @@ jobs: matrix: mc_version: [1.18.2, 1.19.4, 1.20.6, 1.21.7] env: - ARTIFACT_NAME: "EternalCore Dev Build" PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" steps: - name: Checkout repo uses: actions/checkout@v4 - - name: Download plugin artifact from previous workflow - uses: actions/download-artifact@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 with: - name: ${{ env.ARTIFACT_NAME }} - path: ./artifact + distribution: adopt + java-version: 17 + + - name: Make gradlew executable + run: chmod +x gradlew + + - name: Build the plugin JAR + run: ./gradlew clean eternalcore-plugin:shadowJar - name: Find plugin JAR file id: find-jar run: | - PLUGIN_JAR=$(find ./artifact -name 'EternalCore*.jar' | head -n 1) + PLUGIN_JAR=$(find ./eternalcore-plugin/build/libs -name 'EternalCore*.jar' | head -n 1) echo "PLUGIN_JAR=$PLUGIN_JAR" >> $GITHUB_ENV echo "Found plugin jar: $PLUGIN_JAR" if [ -z "$PLUGIN_JAR" ]; then @@ -57,8 +58,6 @@ jobs: - name: Configure server.properties to speed up startup run: | cat > mc-server/server.properties < Date: Tue, 15 Jul 2025 02:45:03 +0200 Subject: [PATCH 05/14] fix jq. --- .github/workflows/test-mc-versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index 2d6e3305c..10669e862 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -46,7 +46,7 @@ jobs: run: | mkdir mc-server cd mc-server - BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds" | jq '.builds | max') + BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds" | jq '.builds | max_by(.build) | .build') echo "Downloading Paper ${{ matrix.mc_version }} build $BUILD_NUMBER" wget https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds/${BUILD_NUMBER}/downloads/paper-${{ matrix.mc_version }}-${BUILD_NUMBER}.jar -O paper.jar mkdir plugins From 223814e3d964a15f33516832e90b99d93f88cd4c Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:47:01 +0200 Subject: [PATCH 06/14] build JAR and fix PaperMC build retrieval --- .github/workflows/test-mc-versions.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index 10669e862..a47d955b9 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -42,13 +42,18 @@ jobs: exit 1 fi + - name: Get latest PaperMC build number + id: get_build_number + run: | + BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds" | jq '.builds | max_by(.build) | .build') + echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT + - name: Setup PaperMC server for version ${{ matrix.mc_version }} run: | mkdir mc-server cd mc-server - BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds" | jq '.builds | max_by(.build) | .build') - echo "Downloading Paper ${{ matrix.mc_version }} build $BUILD_NUMBER" - wget https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds/${BUILD_NUMBER}/downloads/paper-${{ matrix.mc_version }}-${BUILD_NUMBER}.jar -O paper.jar + echo "Downloading Paper ${{ matrix.mc_version }} build ${{ steps.get_build_number.outputs.build_number }}" + wget "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds/${{ steps.get_build_number.outputs.build_number }}/downloads/paper-${{ matrix.mc_version }}-${{ steps.get_build_number.outputs.build_number }}.jar" -O paper.jar mkdir plugins cp ../${{ env.PLUGIN_JAR }} plugins/ From c16fd5a8cca1afa7af2ce91960b264a372b1dc43 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:49:14 +0200 Subject: [PATCH 07/14] Fix papermc resolving. From 0c22ce46891bbb7bd868c22cc0f049efc940df39 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:51:36 +0200 Subject: [PATCH 08/14] Add separate env for minecraft version --- .github/workflows/test-mc-versions.yml | 45 +++++++++----------------- 1 file changed, 15 insertions(+), 30 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index a47d955b9..297da19ff 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -16,40 +16,34 @@ jobs: env: PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" steps: - - name: Checkout repo - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - - name: Set up JDK 17 - uses: actions/setup-java@v4 + - uses: actions/setup-java@v4 with: distribution: adopt java-version: 17 - - name: Make gradlew executable - run: chmod +x gradlew + - run: chmod +x gradlew - - name: Build the plugin JAR - run: ./gradlew clean eternalcore-plugin:shadowJar + - run: ./gradlew clean eternalcore-plugin:shadowJar - - name: Find plugin JAR file - id: find-jar + - id: find-jar run: | PLUGIN_JAR=$(find ./eternalcore-plugin/build/libs -name 'EternalCore*.jar' | head -n 1) echo "PLUGIN_JAR=$PLUGIN_JAR" >> $GITHUB_ENV - echo "Found plugin jar: $PLUGIN_JAR" if [ -z "$PLUGIN_JAR" ]; then echo "Plugin JAR not found!" exit 1 fi - - name: Get latest PaperMC build number - id: get_build_number + - id: get_build_number + env: + MC_VERSION: ${{ matrix.mc_version }} run: | - BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds" | jq '.builds | max_by(.build) | .build') + BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds" | jq '.builds | max_by(.build) | .build') echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT - - name: Setup PaperMC server for version ${{ matrix.mc_version }} - run: | + - run: | mkdir mc-server cd mc-server echo "Downloading Paper ${{ matrix.mc_version }} build ${{ steps.get_build_number.outputs.build_number }}" @@ -57,38 +51,29 @@ jobs: mkdir plugins cp ../${{ env.PLUGIN_JAR }} plugins/ - - name: Agree to EULA - run: echo "eula=true" > mc-server/eula.txt + - run: echo "eula=true" > mc-server/eula.txt - - name: Configure server.properties to speed up startup - run: | + - run: | cat > mc-server/server.properties < mc-server/bukkit.yml < server.log 2>&1 & SERVER_PID=$! - echo "Server started with PID $SERVER_PID" sleep 60 kill $SERVER_PID wait $SERVER_PID || true - echo "Checking logs for errors..." if grep -i -E 'error|exception|failed' server.log; then - echo "❌ Errors found in server logs for version ${{ matrix.mc_version }}" cat server.log exit 1 - else - echo "✅ No errors found in server logs for version ${{ matrix.mc_version }}" fi From a13e84e4ebbf842c408d7ddd225f653d90320ee1 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:54:04 +0200 Subject: [PATCH 09/14] Add PLUGIN_JAR env. --- .github/workflows/test-mc-versions.yml | 66 +++++++++++++++++--------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index 297da19ff..53b849d1a 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -14,66 +14,88 @@ jobs: matrix: mc_version: [1.18.2, 1.19.4, 1.20.6, 1.21.7] env: + # We'll find this JAR locally and export it into GITHUB_ENV PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" + steps: - - uses: actions/checkout@v4 + - name: Checkout repo + uses: actions/checkout@v4 - - uses: actions/setup-java@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 with: distribution: adopt java-version: 17 - - run: chmod +x gradlew + - name: Make gradlew executable + run: chmod +x gradlew - - run: ./gradlew clean eternalcore-plugin:shadowJar + - name: Build the plugin JAR + run: ./gradlew clean eternalcore-plugin:shadowJar - - id: find-jar + - name: Find plugin JAR file + id: find-jar run: | - PLUGIN_JAR=$(find ./eternalcore-plugin/build/libs -name 'EternalCore*.jar' | head -n 1) + PLUGIN_JAR=$(find ./eternalcore-plugin/build/libs -name 'EternalCore*.jar' | head -n1) echo "PLUGIN_JAR=$PLUGIN_JAR" >> $GITHUB_ENV + echo "Found plugin JAR: $PLUGIN_JAR" if [ -z "$PLUGIN_JAR" ]; then - echo "Plugin JAR not found!" + echo "❌ Plugin JAR not found!" exit 1 fi - - id: get_build_number + - name: Get latest PaperMC build number + id: get_build_number env: MC_VERSION: ${{ matrix.mc_version }} run: | - BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds" | jq '.builds | max_by(.build) | .build') + BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds" \ + | jq '.builds | max_by(.build) | .build') echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT + echo "Using PaperMC ${MC_VERSION} build #$BUILD_NUMBER" - - run: | + - name: Setup PaperMC server for version ${{ matrix.mc_version }} + run: | mkdir mc-server cd mc-server - echo "Downloading Paper ${{ matrix.mc_version }} build ${{ steps.get_build_number.outputs.build_number }}" - wget "https://api.papermc.io/v2/projects/paper/versions/${{ matrix.mc_version }}/builds/${{ steps.get_build_number.outputs.build_number }}/downloads/paper-${{ matrix.mc_version }}-${{ steps.get_build_number.outputs.build_number }}.jar" -O paper.jar + echo "Downloading PaperMC ${MC_VERSION} build #${{ steps.get_build_number.outputs.build_number }}" + wget "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${{ steps.get_build_number.outputs.build_number }}/downloads/paper-${MC_VERSION}-${{ steps.get_build_number.outputs.build_number }}.jar" \ + -O paper.jar mkdir plugins - cp ../${{ env.PLUGIN_JAR }} plugins/ + # Use the Bash variable, not GitHub expression + cp "../$PLUGIN_JAR" plugins/ - - run: echo "eula=true" > mc-server/eula.txt + - name: Agree to EULA + run: echo "eula=true" > mc-server/eula.txt - - run: | + - name: Configure server.properties + run: | cat > mc-server/server.properties < mc-server/bukkit.yml < server.log 2>&1 & - SERVER_PID=$! + PID=$! + echo "Server PID: $PID" sleep 60 - kill $SERVER_PID - wait $SERVER_PID || true - if grep -i -E 'error|exception|failed' server.log; then + kill $PID + wait $PID || true + if grep -iE 'error|exception|failed' server.log; then + echo "❌ Errors in server.log" cat server.log exit 1 + else + echo "✅ No errors detected" fi From 190439184198a031dfc048777b18c32be907f876 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:55:24 +0200 Subject: [PATCH 10/14] Expose MC_VERSION for every step --- .github/workflows/test-mc-versions.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index 53b849d1a..dfd9eb17e 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -13,8 +13,9 @@ jobs: strategy: matrix: mc_version: [1.18.2, 1.19.4, 1.20.6, 1.21.7] + # Expose MC_VERSION for every step: env: - # We'll find this JAR locally and export it into GITHUB_ENV + MC_VERSION: ${{ matrix.mc_version }} PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" steps: @@ -33,12 +34,11 @@ jobs: - name: Build the plugin JAR run: ./gradlew clean eternalcore-plugin:shadowJar - - name: Find plugin JAR file + - name: Find plugin JAR id: find-jar run: | PLUGIN_JAR=$(find ./eternalcore-plugin/build/libs -name 'EternalCore*.jar' | head -n1) echo "PLUGIN_JAR=$PLUGIN_JAR" >> $GITHUB_ENV - echo "Found plugin JAR: $PLUGIN_JAR" if [ -z "$PLUGIN_JAR" ]; then echo "❌ Plugin JAR not found!" exit 1 @@ -46,15 +46,13 @@ jobs: - name: Get latest PaperMC build number id: get_build_number - env: - MC_VERSION: ${{ matrix.mc_version }} run: | BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds" \ | jq '.builds | max_by(.build) | .build') echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT - echo "Using PaperMC ${MC_VERSION} build #$BUILD_NUMBER" + echo "→ PaperMC ${MC_VERSION} build #$BUILD_NUMBER" - - name: Setup PaperMC server for version ${{ matrix.mc_version }} + - name: Setup PaperMC server for $MC_VERSION run: | mkdir mc-server cd mc-server @@ -62,7 +60,6 @@ jobs: wget "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${{ steps.get_build_number.outputs.build_number }}/downloads/paper-${MC_VERSION}-${{ steps.get_build_number.outputs.build_number }}.jar" \ -O paper.jar mkdir plugins - # Use the Bash variable, not GitHub expression cp "../$PLUGIN_JAR" plugins/ - name: Agree to EULA @@ -83,7 +80,7 @@ jobs: allow-end: false EOF - - name: Run MC server and fail on errors + - name: Run server and fail on errors working-directory: mc-server run: | java -Xmx1G -jar paper.jar nogui > server.log 2>&1 & From 403256985e0c4afe794e85f691d7573ff3bd885b Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 02:59:27 +0200 Subject: [PATCH 11/14] Fix missing PIDs --- .github/workflows/test-mc-versions.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index dfd9eb17e..8b066a683 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -13,7 +13,6 @@ jobs: strategy: matrix: mc_version: [1.18.2, 1.19.4, 1.20.6, 1.21.7] - # Expose MC_VERSION for every step: env: MC_VERSION: ${{ matrix.mc_version }} PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" @@ -50,13 +49,11 @@ jobs: BUILD_NUMBER=$(curl -s "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds" \ | jq '.builds | max_by(.build) | .build') echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT - echo "→ PaperMC ${MC_VERSION} build #$BUILD_NUMBER" - name: Setup PaperMC server for $MC_VERSION run: | mkdir mc-server cd mc-server - echo "Downloading PaperMC ${MC_VERSION} build #${{ steps.get_build_number.outputs.build_number }}" wget "https://api.papermc.io/v2/projects/paper/versions/${MC_VERSION}/builds/${{ steps.get_build_number.outputs.build_number }}/downloads/paper-${MC_VERSION}-${{ steps.get_build_number.outputs.build_number }}.jar" \ -O paper.jar mkdir plugins @@ -87,7 +84,7 @@ jobs: PID=$! echo "Server PID: $PID" sleep 60 - kill $PID + kill $PID || true wait $PID || true if grep -iE 'error|exception|failed' server.log; then echo "❌ Errors in server.log" From 167f4516a467a75933701af1e1b3228367ec6beb Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 03:02:40 +0200 Subject: [PATCH 12/14] Use 25560 port. --- .github/workflows/test-mc-versions.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index 8b066a683..1318ba761 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -16,6 +16,7 @@ jobs: env: MC_VERSION: ${{ matrix.mc_version }} PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" + MC_PORT: 25560 steps: - name: Checkout repo @@ -65,6 +66,7 @@ jobs: - name: Configure server.properties run: | cat > mc-server/server.properties < server.log 2>&1 & PID=$! - echo "Server PID: $PID" + echo "Started MC ${MC_VERSION} on port ${MC_PORT} (PID=${PID})" sleep 60 kill $PID || true wait $PID || true if grep -iE 'error|exception|failed' server.log; then - echo "❌ Errors in server.log" + echo "❌ Errors detected in server.log" cat server.log exit 1 else - echo "✅ No errors detected" + echo "✅ No errors detected for MC ${MC_VERSION}" fi From 6adde98572154db4a91aa262111ee29ee1c88d00 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 03:09:57 +0200 Subject: [PATCH 13/14] disable fail-fast --- .github/workflows/test-mc-versions.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index 1318ba761..eabf0d65d 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -11,8 +11,10 @@ jobs: test-minecraft-versions: runs-on: self-hosted strategy: + fail-fast: false matrix: mc_version: [1.18.2, 1.19.4, 1.20.6, 1.21.7] + env: MC_VERSION: ${{ matrix.mc_version }} PLUGIN_GLOB: "eternalcore-plugin/build/libs/EternalCore*.jar" From 42db581589ac81b3d5bcdc2906758eabbdad0d30 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Tue, 15 Jul 2025 03:12:28 +0200 Subject: [PATCH 14/14] Use java 21 --- .github/workflows/test-mc-versions.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-mc-versions.yml b/.github/workflows/test-mc-versions.yml index eabf0d65d..e06671850 100644 --- a/.github/workflows/test-mc-versions.yml +++ b/.github/workflows/test-mc-versions.yml @@ -24,11 +24,11 @@ jobs: - name: Checkout repo uses: actions/checkout@v4 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v4 with: distribution: adopt - java-version: 17 + java-version: 21 - name: Make gradlew executable run: chmod +x gradlew