Skip to content

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

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

INTERNAL-2043 Add GitHub release actions to open-source plugin repos#1
bin-xnatworks wants to merge 8 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-RC-SNAPSHOT -> 1.10.1-SNAPSHOT
- Gradle 3.5 -> 9.4.1
- dependency-management 1.0.6.RELEASE -> 1.1.7
- Java 1.8 -> 21 in java {} block
- Remove apply plugin 'maven' (Gradle 7+ removed)
- Remove com.github.jk1.dependency-license-report (incompatible with Gradle 9)
- compileJava.destinationDir -> destinationDirectory.asFile.get() (Gradle 9)
- Remove implementation org.nrg.xnat:xnat-data-models (merged into xnat-web)
- Add explicit deps: framework, config, mail, commons-lang3, restlet, log4j,
  turbine (full satellite excludes), velocity, javax.servlet-api, ecs:ecs
  (xnat-web no longer surfaces these on consumer compileClasspath)
Plugin had a publishing { publications { ... } } block but no
repositories child, so CI 'gradle publish' would default to mavenLocal()
and skip JFrog.
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.
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