Add CI: Gradle build workflow pinned to JDK 17 - #2
Conversation
This fork had no workflows, so no pull request had an automated build signal. RPKit's Gradle 7.6 / Kotlin 1.7.22 / jvmTarget 17 combination only runs on a JDK in the 17-19 range, so the workflow pins 17 explicitly rather than inheriting the runner default. Compile and test are separate steps so a red run is attributable to one or the other. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Self-review rubric:
On the CI FAIL. The workflow ran, reached dependency resolution, and failed in 1m 7s with: That failure is pre-existing bit-rot, not something this PR introduced — both artifacts were pinned in 2024 and have since been removed from their repositories. I verified the specifics by probing the repos directly (PlaceholderAPI's old URL 301s to I deliberately did not make this run green. Two options were available and both were rejected:
A red anchor that accurately reports "this project does not currently build" is worth more than a green one that was arranged to pass. The workflow did precisely the job it was added to do — it found a real blocker on its first run. Recommendation: merge this to establish the anchor, then take #3 as the next cycle to get it green. |
Summary
.github/workflows/build.yml— the first CI on this fork. Until now no pull request here had any automated build signal.jvmTarget 17combination only runs on a JDK in the 17–19 range. Measured on the dev device: JDK 21 fails withUnsupported class file major version 65, JDK 11 fails plugin resolution, and JDK 17 was not installed — so the project is currently unbuildable there by any local route.Compileis a source/codegen break, a failingTestis a behaviour break.Dans-Plugins/Medieval-Factions(actions/checkout@v4,actions/setup-java@v4with temurin,chmod +x gradlew,permissions: contents: read).Anchor verdict: RED — and the red is correct
The workflow ran on this PR and failed in 1m 7s at dependency resolution, before compiling any Kotlin:
This is pre-existing bit-rot, not a fault in this PR. Both artifacts were pinned when the project was last touched in 2024 and have since been removed from their repositories; nothing in this repo changed. Verified by direct probe — PlaceholderAPI's old repo URL 301s to
repo.helpch.at/releases, where 2.11.2 returns 404, and ProtocolLib'smaven-metadata.xmlnow lists only 5.3.0 and 5.4.0-SNAPSHOT. Filed with full detail and exact working coordinates as #3.I deliberately did not arrange for this run to be green. Fixing the dependencies here would mean version bumps across 9 modules — a different change, on the do-not-auto-merge list, with unknown API drift behind it. Narrowing the workflow until it passed would cover 2 of 5 test modules and would misrepresent the project as building when it does not. A red anchor that accurately says "this project does not currently build" is worth more than a green one that was arranged to pass.
The workflow did exactly what it was added to do: it found a real blocker on its first run.
Scope of the anchor, stated honestly
./gradlew compileKotlinand./gradlew testinvoke those tasks across all 71 modules, but only 5 modules contain tests —rpk-notifications-bukkit,rpk-permissions-bukkit,rpk-players-bukkit,rpk-selection-bukkit,rpk-stats-bukkit(verified against the tree, not assumed). Once green, that means everything compiles and those five modules' tests pass — not that the other 66 have behavioural coverage. Treat a future green accordingly.Test plan
build.ymlparses as valid YAML (yaml.safe_load)java-version: 17/distribution: temurinconfirmed by parsing the file, not by eyeDDLDatabaseover checked-in SQL migration scripts, so no live database is needed on the runnerrepo.propertiesis read only for publishing credentials and is not required to compile or testDo-not-auto-merge
This PR modifies
.github/workflows/*, which is on the do-not-auto-merge list. It is left open for human review by design — not because anything failed.Suggested next step: merge to establish the anchor, then take #3 to get it green.
Closes #1