Skip to content

INTERNAL-2043 Add GitHub release actions to open-source plugin repos#1

Open
bin-xnatworks wants to merge 5 commits into
developfrom
xnat-8763
Open

INTERNAL-2043 Add GitHub release actions to open-source plugin repos#1
bin-xnatworks wants to merge 5 commits into
developfrom
xnat-8763

Conversation

@bin-xnatworks

@bin-xnatworks bin-xnatworks commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator
  1. Java 21
  2. Gradle 9.4.1, monorepo 1.10.1-SNAPSHOT
  3. Add CI workflows: build-publish.yml / release-cut-rc.yml / release-promote.yml (thin callers of NrgXnat/xnat-ci-workflows@v1)

- vXnat 1.7.6 -> 1.10.1-SNAPSHOT
- Gradle 6.4.1 -> 9.4.1
- gradle-lombok 4.0.0 -> 5.0.0
- Java 1.7 -> 21 in java {} block
- Hardcode lombok 1.18.34 (BOM 1.10.1 dropped importedProperties)
- Use full plugin ID 'org.nrg.xnat.build.xnat-data-builder' (short alias
  no longer resolves in Gradle 9)
- Remove jcenter() repository (removed in Gradle 9)
- classifier 'X' -> archiveClassifier.set('X') (Gradle 9 stricter)
…nvention

Read artifactoryUser/Token via project.findProperty (matches CI workflow's
ORG_GRADLE_PROJECT_artifactoryUser/Token env-var mapping), with
ARTIFACTORY_USER/TOKEN env-var fallback. Standardize URL to -local repos.
Mirrors monorepo's buildSrc/buildlogic.java-common-conventions.gradle pattern.
…tern

Replace 187-line + 165-line inline workflows with ~37-line callers that
delegate to NrgXnat/xnat-ci-workflows reusable workflows:
  - gradle-release-cut-rc.yml@v1
  - gradle-release-promote.yml@v1

Total YAML saved per plugin: ~278 lines. Behavior unchanged — the
reusable workflows were extracted verbatim from the previous inline scripts.
The shared reusable workflow gradle-build-publish.yml@v1 has a
publish-ghcr job declaring 'permissions: contents: read, packages: write'.
Even though that job is gated by 'if: inputs.publish-ghcr' (default false),
GitHub Actions parses the permissions at workflow startup. If the caller
doesn't grant 'packages: write', the run fails with startup_failure
before any job runs.

Validated by dispatching build-publish on mfa-plugin/fake-develop:
- Without packages: write → startup_failure in 2s
- With packages: write → reaches Stage 1 Gradle build

Mirrors xnat monorepo's build-publish.yml caller pattern.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants