Port OreSpawn 4.0.16 to Forge 1.17.1 #244
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: OreSpawn 1.17.1 CI | |
| on: | |
| push: | |
| branches: | |
| - master-1.17.1 | |
| - 'feature/**' | |
| pull_request: | |
| branches: | |
| - master-1.17.1 | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: orespawn-1.17-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| cold-forge-bootstrap: | |
| name: Cold Forge bootstrap | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Check out source | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: Install pinned Java 25 ForgeGradle Mavenizer runtime | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25.0.3+9.0.LTS' | |
| - name: Install pinned Java 8 launcher toolchain | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '8.0.502+7' | |
| - name: Install pinned Java 16 compilation toolchain | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '16.0.2+7' | |
| - name: Install pinned Java 17 Gradle runtime | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '17.0.1+12' | |
| - name: Bootstrap Forge from an empty cache | |
| shell: bash | |
| env: | |
| GRADLE_USER_HOME: ${{ runner.temp }}/orespawn-cold-gradle | |
| run: | | |
| set -euo pipefail | |
| test ! -e .gradle | |
| test ! -e "$GRADLE_USER_HOME" | |
| mkdir -p "$GRADLE_USER_HOME" | |
| chmod +x ./gradlew | |
| gradle_args=( | |
| classes verifyLegacyFixtures | |
| --no-daemon --no-build-cache --stacktrace --max-workers=2 | |
| -Dorg.gradle.java.installations.paths="$JAVA_HOME,$JAVA_HOME_8_X64,$JAVA_HOME_16_X64,$JAVA_HOME_25_X64" | |
| -Dorg.gradle.java.installations.auto-detect=false | |
| -Dorg.gradle.java.installations.auto-download=false | |
| ) | |
| ./gradlew "${gradle_args[@]}" | |
| - name: Verify same-cache bootstrap offline | |
| shell: bash | |
| env: | |
| GRADLE_USER_HOME: ${{ runner.temp }}/orespawn-cold-gradle | |
| run: | | |
| set -euo pipefail | |
| gradle_args=( | |
| classes verifyLegacyFixtures | |
| --rerun-tasks --offline --no-daemon --no-build-cache --stacktrace --max-workers=2 | |
| -Dorg.gradle.java.installations.paths="$JAVA_HOME,$JAVA_HOME_8_X64,$JAVA_HOME_16_X64,$JAVA_HOME_25_X64" | |
| -Dorg.gradle.java.installations.auto-detect=false | |
| -Dorg.gradle.java.installations.auto-download=false | |
| ) | |
| ./gradlew "${gradle_args[@]}" | |
| build: | |
| name: Build, test, and audit | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Check out source | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: Install pinned Java 25 ForgeGradle Mavenizer runtime | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25.0.3+9.0.LTS' | |
| - name: Install pinned Java 8 launcher toolchain | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '8.0.502+7' | |
| - name: Install pinned Java 16 compilation toolchain | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '16.0.2+7' | |
| - name: Install pinned Java 17 Gradle runtime | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '17.0.1+12' | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6 | |
| - name: Make the wrapper executable | |
| run: chmod +x ./gradlew | |
| - name: Build, test, and audit release artifacts | |
| run: >- | |
| ./gradlew clean check build javadoc verifyReleaseArtifacts writeReleaseChecksums | |
| verifyEclipseProductionClasspath --no-daemon --stacktrace | |
| -Dorg.gradle.java.installations.paths="$JAVA_HOME,$JAVA_HOME_8_X64,$JAVA_HOME_16_X64,$JAVA_HOME_25_X64" | |
| -Dorg.gradle.java.installations.auto-detect=false | |
| -Dorg.gradle.java.installations.auto-download=false | |
| - name: Upload audited release candidate | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: OreSpawn-1.17.1-${{ github.sha }} | |
| if-no-files-found: error | |
| retention-days: 30 | |
| path: | | |
| build/libs/OreSpawn-4.0.16.117011.jar | |
| build/libs/OreSpawn-4.0.16.117011-sources.jar | |
| build/libs/OreSpawn-4.0.16.117011-javadoc.jar | |
| build/release/SHA256SUMS | |
| CHANGELOG.txt | |
| - name: Upload diagnostics on failure | |
| if: failure() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: OreSpawn-1.17.1-diagnostics-${{ github.sha }} | |
| if-no-files-found: ignore | |
| retention-days: 14 | |
| path: | | |
| build/test-results/** | |
| build/reports/** | |
| build/*-run/logs/** | |
| build/surface-integration-run/**/*.properties | |
| build/problems/** |