Skip to content

Add the tested Forge 26.2 port #95

Add the tested Forge 26.2 port

Add the tested Forge 26.2 port #95

Workflow file for this run

name: CodeQL
on:
push:
branches: [master-26.2, 'feature/**']
pull_request:
branches: [master-26.2]
schedule:
- cron: '47 7 * * 4'
permissions:
actions: read
contents: read
security-events: write
jobs:
analyze:
name: Analyze Java
runs-on: ubuntu-latest
timeout-minutes: 75
steps:
- name: Check out PowerAdvantage
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Test target-derived dependency guards
run: bash .github/test-base-metals-pin.sh
- name: Require the Base Metals pin on upstream master-26.2
id: base-metals-pin
env:
GH_TOKEN: ${{ github.token }}
run: bash .github/verify-base-metals-pin.sh
- name: Use canonical LF dependency inputs
run: git config --global core.autocrlf false
- name: Check out pinned OreSpawn
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
repository: MinecraftModDevelopmentMods/OreSpawn
ref: dcaaa933299dd8b1ebc73e31c9e5acd36dd7957c
path: .ci-dependencies/OreSpawn
- name: Check out pinned Base Metals
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
repository: MinecraftModDevelopmentMods/BaseMetals
ref: 523335a59ecff399e40a7c66eb121a3aabdc45ba
path: .ci-dependencies/BaseMetals
- name: Install Java 25 for Gradle, tools and Minecraft
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5
with:
distribution: temurin
java-version: '25.0.3+9.0.LTS'
- name: Use pinned build toolchains
# These are Gradle project properties, not JVM system properties.
shell: bash
run: >-
echo "MMD_GRADLE_TOOLCHAINS=-Porg.gradle.java.installations.paths=$JAVA_HOME
-Porg.gradle.java.installations.auto-detect=false
-Porg.gradle.java.installations.auto-download=false" >> "$GITHUB_ENV"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6
- name: Build pinned development dependencies
id: dependencies
shell: bash
run: |
set -euo pipefail
orespawn="$GITHUB_WORKSPACE/.ci-dependencies/OreSpawn"
basemetals="$GITHUB_WORKSPACE/.ci-dependencies/BaseMetals"
mavenizer="$orespawn/ci-fixtures/tools/minecraft-mavenizer-0.5.21-orespawn-compat.jar"
mirror="$RUNNER_TEMP/orespawn-mirror"
(cd "$basemetals" && bash gradle/stage-orespawn-release.sh "$mirror")
chmod +x "$orespawn/gradlew" "$basemetals/gradlew"
(cd "$orespawn" && ./gradlew $MMD_GRADLE_TOOLCHAINS jar --no-daemon --stacktrace)
(cd "$basemetals" && ./gradlew $MMD_GRADLE_TOOLCHAINS jar -PorespawnVerificationRepository="$mirror" --no-daemon --stacktrace)
echo "orespawn=$orespawn/build/libs/OreSpawn-4.1.1.2602001.jar" >> "$GITHUB_OUTPUT"
echo "basemetals=$basemetals/build/libs/BaseMetals-3.1.2.2602001.jar" >> "$GITHUB_OUTPUT"
echo "mavenizer=$mavenizer" >> "$GITHUB_OUTPUT"
- name: Initialize CodeQL
uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
with:
languages: java-kotlin
build-mode: manual
- name: Compile production code
run: |
chmod +x ./gradlew
./gradlew $MMD_GRADLE_TOOLCHAINS clean classes verifyReleaseDependencies --rerun-tasks --no-build-cache --no-daemon --stacktrace \
-PbaseMetalsDeobfJar=${{ steps.dependencies.outputs.basemetals }} \
-PoreSpawnDeobfJar=${{ steps.dependencies.outputs.orespawn }} \
-Pforge64MavenizerJar=${{ steps.dependencies.outputs.mavenizer }}
- name: Analyze
uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4