chore(deps): bump gradle-wrapper from 9.3.0 to 9.3.1 (#3) #31
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: creeprsIArena CI | |
| on: | |
| push: | |
| branches: [ "**" ] | |
| pull_request: | |
| branches: [ "**" ] | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-test: | |
| name: Build & Test (Java ${{ matrix.java }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| java: [ "21" ] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Validate Gradle Wrapper | |
| uses: gradle/wrapper-validation-action@v3 | |
| - name: Set up JDK ${{ matrix.java }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: ${{ matrix.java }} | |
| cache: gradle | |
| - name: Make gradlew executable | |
| run: chmod +x gradlew | |
| - name: Build (includes tests & checks) | |
| run: ./gradlew --no-daemon build --stacktrace | |
| - name: Upload test reports (always) | |
| if: always() | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: creeprsIArena-test-reports | |
| path: | | |
| **/build/test-results/test/** | |
| **/build/reports/tests/test/** | |
| - name: Upload built jars (if any) | |
| if: always() | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: creeprsIArena-artifacts | |
| path: | | |
| **/build/libs/*.jar | |
| !**/*-sources.jar | |
| !**/*-javadoc.jar | |
| paper: | |
| name: Paper Test | |
| runs-on: ubuntu-latest | |
| needs: build-test | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Set up JDK 21 (for Gradle build) | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: "21" | |
| cache: gradle | |
| - name: Make gradlew executable | |
| run: chmod +x gradlew | |
| - name: Build plugin | |
| run: ./gradlew --no-daemon build --stacktrace | |
| - name: Resolve plugin jar | |
| id: jar | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| PLUGIN_JAR="$(ls -1 build/libs/*.jar | grep -vE 'sources|javadoc' | head -n1)" | |
| echo "jar=$PLUGIN_JAR" >> "$GITHUB_OUTPUT" | |
| echo "Using plugin jar: $PLUGIN_JAR" | |
| - name: Start Paper (Docker) | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| docker run -d --name paper-ci \ | |
| -e EULA=TRUE \ | |
| -e TYPE=PAPER \ | |
| -e VERSION=1.21.11 \ | |
| -p 25565:25565 \ | |
| -v "$(pwd)/paper-data:/data" \ | |
| itzg/minecraft-server:java21 | |
| - name: Wait for boot & plugin load | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| PATTERN_PLUGIN="creepersIArena is enabled!" | |
| PATTERN_BOOT="Done \([0-9.]+s\)!" | |
| for i in $(seq 1 180); do | |
| LOGS="$(docker logs paper-ci 2>&1 || true)" | |
| if echo "$LOGS" | grep -qE "$PATTERN_BOOT"; then | |
| echo "✅ Paper started (boot pattern matched)." | |
| if echo "$LOGS" | grep -qE "$PATTERN_PLUGIN"; then | |
| echo "✅ Plugin loaded (plugin pattern matched)." | |
| else | |
| echo "ℹ️ Paper started without plugin." | |
| fi | |
| exit 0 | |
| fi | |
| sleep 1 | |
| done | |
| echo "❌ Timeout waiting for Paper to start. Last logs:" | |
| docker logs paper-ci || true | |
| exit 1 | |
| - name: Stop container | |
| if: always() | |
| run: docker rm -f paper-ci || true |