jamesfredley opened a new pull request, #12:
URL: https://github.com/apache/grails-micronaut/pull/12

   Ports the grails-core release process so a grails-micronaut release can go 
through the normal ASF vote and verification steps.
   
   ## What changes
   
   - `release.yml` now follows grails-core: `pre-release` writes 
`projectVersion` and moves the tag, then the workflow stages JARs in Nexus, 
builds a signed source zip, uploads it to 
`dist/dev/grails/micronaut/<version>/sources`, and prints the `[VOTE]` email. 
Post-vote jobs (promotion instructions, announcement, merge-back via 
`post-release`) wait behind the `release`, `docs` and `close` environments.
   - New `etc/bin/verify.sh` (plus `verify-*.sh` helpers) lets voters check 
signatures, checksums, source contents, RAT, and rebuild the JARs/BOMs and 
compare against the staged checksums.
   - New `Release - Abort Release`, `Release - Drop Nexus Staging`, `Release - 
Close` and `Release - Verify Troubleshooting` workflows. Abort refuses to run 
once a version exists in the Nexus releases repo or SVN `release`, and waits 
for cancelled runs to stop before cleaning up.
   - `LICENSE` and `NOTICE` are trimmed to the plain Apache License and 
standard notice. The previous copies came from the grails-core monorepo and 
listed GSP schemas, Sitemesh, jQuery files, Undertow and the Roboto font, none 
of which are in this repository.
   - RAT excludes the generated `BUILD_DATE`, `CHECKSUMS` and 
`PUBLISHED_ARTIFACTS` files that ship inside the source zip.
   - `RELEASE.md` is rewritten for the new flow.
   
   ## Infra prerequisites before the first release
   
   The release cannot run until these exist for this repository. Today it only 
has `NEXUS_STAGE_DEPLOYER_USER`, `NEXUS_USER`, `NEXUS_PW` and 
`DEVELOCITY_ACCESS_KEY` (org) and the `STAGING_URL` variable, and the release 
workflow has never run here.
   
   - Secrets: `GRAILS_GPG_KEY`, `GPG_KEY_ID`, `STAGING_PROFILE_ID`, 
`NEXUS_STAGE_DEPLOYER_PW`, `SVC_DIST_GRAILS_USERNAME`, 
`SVC_DIST_GRAILS_PASSWORD`, `GRAILS_DEVELOCITY_ACCESS_KEY` (grails-core has all 
of these).
   - The `release`, `docs` and `close` environments declared in `.asf.yaml` are 
not present on GitHub (only `copilot` is). **They must exist with required 
reviewers before the first tag.** GitHub auto-creates an environment without 
protection when a job references a missing one, so the post-vote jobs would run 
immediately, including the merge-back PR.
   
   ## Verification
   
   - `actionlint` (with shellcheck) and `shellcheck -S warning` are clean on 
all workflows and scripts.
   - `./gradlew :rat` passes with the three manifests present at the root, 
matching the source zip layout.
   - Reproducibility of `8.0.x` at `f7e14130fa` checked in the 
`etc/bin/Dockerfile` image (Liberica 25.0.3): two clean builds each of the 
snapshot and of `-PprojectVersion=8.0.0` produced byte-identical JARs.
   - The workflows themselves have not been run; they need the secrets above.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to