Skip to content

Set the Maven publication directory in a workflow step #10

Set the Maven publication directory in a workflow step

Set the Maven publication directory in a workflow step #10

Workflow file for this run

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/**