lukaszlenart opened a new pull request, #1848: URL: https://github.com/apache/struts/pull/1848
The release process is now documented at [Release Guidelines](https://struts.apache.org/release-guidelines.html) (apache/struts-site#324 and apache/struts-site#325), and the cwiki pages the skill warned about — *Building Struts 2 — Normal release*, *Fast track release*, *Creating and Signing a Distribution*, *One time steps*, *Sample announcements* — are now stubs pointing there. The skill had not caught up. It still treated `pageId=27832970` as a live trap, and `release-runbook.md` carried a near-complete second copy of the process: two sources of truth that would drift apart on the next release. ## What changed **`release-runbook.md`** (292 → 96 lines) is now the delta only, per phase — the commands live on the site page: - where a step is the release manager's to take rather than the agent's: closing the Nexus staging repository in phase 2, releasing it in phase 5. Hand over and wait for confirmation; phase 3 fetches from the staging *group* URL and gets nothing while the repository is open. - why the `STRUTS_X_Y_Z` tag prompt cannot move into the pom — `tagNameFormat` interpolates `@{project.version}` and has no string functions. - the `text/plain` contract on the `[ANN]` mail, with the `ezmlm-reject` evidence, since a draft made with the Gmail tool is an HTML draft whatever you pass it. - JDK: ask, do not infer. `.java-version` is gitignored here, so it is not a signal. - the scripts this skill ships, which the Release Guidelines link to by GitHub URL — changing their behaviour now means a struts-site PR too. Phases 4 and 7 hand off to `creating-release-vote-mail` and `creating-security-bulletins` as before. **`SKILL.md`** keeps the gates and the judgement, and now says corrections belong in a struts-site PR rather than here. The cwiki table is replaced by a short note that those pages are retired and that their history — the 2013–2017 process, `develop`/`master`, `people.apache.org`, an svn checkout of the production site — is never to be restored from. ## Two fixes that predate the port - The phase 1 gate read "BOM in sync" while the runbook said the BOM needs no sync. It is now "parent poms released", matching the guidelines. - The runbook said never to run the staging script from a repository checkout, then gave a checkout-relative invocation. Now an absolute path from `$(mktemp -d)`, matching the script's own usage line. Documentation only, under `.claude/`; no build impact. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
