Repository navigation
Set the basePower CurseForge project #4
Workflow file for this run
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: basePower 1.10 CI | |
| on: | |
| push: | |
| branches: | |
| - master-1.10.2 | |
| - 'feature/**' | |
| pull_request: | |
| branches: | |
| - master-1.10.2 | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: basepower-1.10-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build, test, and audit | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Check out source | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| - name: Check out pinned OreSpawn | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 | |
| with: | |
| repository: MinecraftModDevelopmentMods/OreSpawn | |
| ref: 5a50df1158e948c8db55814e819090b34c12d765 | |
| path: .ci-dependencies/OreSpawn | |
| - name: Install Java 8 toolchain | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: temurin | |
| java-version: '8.0.502+7' | |
| - name: Install Java 17 for Gradle | |
| uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 | |
| with: | |
| distribution: microsoft | |
| java-version: '17' | |
| - name: Set up Gradle | |
| uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6 | |
| - name: Build pinned OreSpawn development jar | |
| id: orespawn | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| dependency="$GITHUB_WORKSPACE/.ci-dependencies/OreSpawn" | |
| chmod +x "$dependency/gradlew" | |
| ( | |
| cd "$dependency" | |
| ./gradlew deobfJar --no-daemon --stacktrace | |
| ) | |
| jar="$dependency/build/libs-dev/OreSpawn-4.0.8.110021-deobf.jar" | |
| test -f "$jar" | |
| echo "jar=$jar" >> "$GITHUB_OUTPUT" | |
| - name: Make the wrapper executable | |
| run: chmod +x ./gradlew | |
| - name: Stage exact RebornCore compile API | |
| id: reborncore | |
| run: | | |
| mirror="$RUNNER_TEMP/reborncore-mirror" | |
| bash gradle/stage-reborncore-release.sh "$mirror" | |
| echo "repository=$mirror" >> "$GITHUB_OUTPUT" | |
| - name: Build and audit release artifacts | |
| run: >- | |
| ./gradlew clean check build javadoc verifyReleaseDependencies verifyReleaseArtifacts | |
| writeReleaseChecksums verifyEclipseProductionClasspath | |
| -PrebornCoreVerificationRepository=${{ steps.reborncore.outputs.repository }} | |
| -PoreSpawnDeobfJar=${{ steps.orespawn.outputs.jar }} | |
| --no-daemon --stacktrace | |
| - name: Check the isolated test harness | |
| run: >- | |
| ./gradlew -p test-rig clean check assemble | |
| -PpowerAdvantageDeobfJar=${{ github.workspace }}/build/libs-dev/basePower-2.4.4.110021-deobf.jar | |
| --no-daemon --stacktrace | |
| - name: Install Python for migration contract tests | |
| uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6 | |
| with: | |
| python-version: '3.12.14' | |
| - name: Check migration and progression contracts | |
| run: | | |
| python -m pip install -r test-rig/migration/requirements.txt | |
| python -m unittest discover -s test-rig/migration -p 'test_*.py' | |
| - name: Upload audited release candidate | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: basePower-1.10.2-${{ github.sha }} | |
| if-no-files-found: error | |
| retention-days: 30 | |
| path: | | |
| build/libs/basePower-2.4.4.110021.jar | |
| build/libs/basePower-2.4.4.110021-sources.jar | |
| build/libs/basePower-2.4.4.110021-javadoc.jar | |
| build/release/SHA256SUMS | |
| CHANGELOG.txt | |
| - name: Upload diagnostics on failure | |
| if: failure() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: basePower-1.10.2-diagnostics-${{ github.sha }} | |
| if-no-files-found: ignore | |
| retention-days: 14 | |
| path: | | |
| build/test-results/** | |
| build/reports/** | |
| build/*-run/logs/** | |
| build/problems/** | |
| test-rig/build/gradle/test-results/** | |
| test-rig/build/gradle/reports/** |