Skip to content

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

Merged
bin-xnatworks merged 10 commits into
developfrom
xnat-8763
Jul 6, 2026
Merged

INTERNAL-2043 Add GitHub release actions to open-source plugin repos#1
bin-xnatworks merged 10 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.9.0 -> 1.10.1-SNAPSHOT
- Gradle 8.5 -> 9.4.1
- gradle-git-version 0.12.1 -> 3.0.0, gradle-lombok 4.0.0 -> 5.0.0,
  dependency-management 1.0.11.RELEASE -> 1.1.7
- Java 1.8 -> 21 in java {} block
- Add explicit lombok block (1.18.34) — BOM 1.10.1 dropped importedProperties
- Add buildscript classpath "org.nrg.xnat:xnat-data-models:${vXnat}" —
  xnat-data-builder needs core XNAT schemas (xnat.xsd) on its classpath to
  resolve file-xsync.xsd's xs:include; xdat-core no longer ships them in 1.10.1
- Remove implementation org.nrg.xnat:xnat-data-models (compile-side merged into web)
- Add compileOnly javax.annotation:javax.annotation-api:1.3.2 (JSR-250 removed from JDK 11+)
Monorepo xnat-data-builder (PR #11 commit 9aa48e633) now provides
xnat-web at runtime, so plugin's xnatDataBuilder task can resolve
xs:import xnat.xsd directly without the consumer-side workaround.
…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.
Strip the '=' or convert single→double quotes / def variable so the
centralized release-cut-rc workflow's sed pattern matches consistently
across all plugins. No semantic change.
…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.
@bin-xnatworks bin-xnatworks merged commit a44ebcc into develop Jul 6, 2026
2 checks passed
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