lukaszlenart opened a new pull request, #324:
URL: https://github.com/apache/struts-site/pull/324

   ### Why
   
   `source/release-guidelines.md` described a release process nobody has run in 
years — an Ant `release` target, Cactus tests, a test build posted to 
`svn.apache.org/struts/`, a release plan on `wiki.apache.org`. The only 
end-to-end description of how a release is *actually* made was the cwiki page 
[Building Struts 2 — Normal 
release](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27832970),
 last revised in **2017**, which is still right about JIRA, the release plugin, 
Nexus and `dist.apache.org` and wrong about everything downstream:
   
   | It says | Reality |
   |---|---|
   | Branches `develop` / `master` | `main` and `support/struts-6-x-x` |
   | Tag `STRUTS_2_3_x` | `STRUTS_X_Y_Z` |
   | Export the wiki to `/docs` | No longer part of the site |
   | Docker Jekyll, commit `content/`, `svn co .../production/struts` | The 
site builds from a PR to `apache/struts-site` |
   | `people.apache.org`, `announce.md`, `downloads.html` | Dead host; the 
files are `announce-YYYY.md`, `releases.md` and `download.cgi` |
   
   ### The page
   
   Seven phases — prepare, cut, stage, vote, promote, publish, advisories — 
each with a gate someone other than the release manager can verify, and the 
commands needed at each step. It is written to be followable on its own, so 
there is one document rather than two that disagree.
   
   Content comes from the `releasing-struts` skill added in apache/struts#1844, 
which was itself verified against the 7.3.0 and 6.11.0 runs. The things most 
likely to surprise a release manager working from the old page:
   
   - Releases are cut on a `release/X.Y.Z-RC1` branch off the line, not on the 
line branch. A failed vote is a deleted branch, not a revert — and `main` still 
read `7.2.2-SNAPSHOT` after 7.3.0 shipped, so the pom is worthless as a source 
for the release number.
   - `mvn release:prepare` / `release:perform` take no command-line flags any 
more; `autoVersionSubmodules` and `retryFailedDeploymentCount` live in the pom.
   - The SCM tag prompt still has to be answered `STRUTS_X_Y_Z` by hand.
   - The site update is this repository's PR flow — no `content/` commit, no 
production svn checkout.
   - The `[ANN]` mail goes `To: user@` with `Cc: announce@, 
announcements@struts`, and must be plain text from an `@apache.org` identity.
   - The security phase is last, and the ordering GA → bulletin → advisory 
mails → CVE is spelled out, along with the rule that no advisory detail goes 
into release paperwork.
   
   The **Coding Conventions** and **Clarifications** sections are dropped in 
favour of a pointer to [Coding 
standards](https://struts.apache.org/coding-standards.html), which covers the 
same ground and is maintained. The page keeps its URL, its nav entry and the 
incoming link from `builds.md`.
   
   ### Verified
   
   `bundle exec jekyll build` is clean; all seven phase anchors resolve from 
the generated ToC, the eight alert callouts render, and every internal link 
(`coding-standards`, `builds`, `bylaws`, `security`, `security/`, 
`download.cgi`) points at a page that exists.
   
   ### Follow-up — cwiki
   
   Once this merges, these pages get replaced with pointers at
   `https://struts.apache.org/release-guidelines.html` (stubs rather than 
deletions, so the inbound links and search results keep working), and the 
Contributors Guide links get updated:
   
   | Page | State |
   |---|---|
   | 
[27832970](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27832970)
 Building Struts 2 — Normal release | 2017; superseded by this page |
   | 
[27834014](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27834014)
 Building Struts 2 — Fast track release | 2014; already self-marked outdated |
   | 
[27832965](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27832965)
 Building Struts Annotations | 2011; svn-era |
   | 
[27839549](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27839549)
 Building Struts Master | 2012; svn-era |
   
   Version Notes and Migration Guide pages stay on the wiki — those are 
per-release artifacts, not process docs.
   
   **Still needs porting, and deliberately not invented here:**
   
   - Releasing **struts-master**. `apache/struts-master` is a git repository 
now, so the 2012 svn instructions are stale, and the current process has not 
been verified by anyone recently.
   - Releasing **struts-annotations**. Same situation.
   - The **milestone / RC** variant (`7.0.0-M1`-style), which the "fast track" 
page half-covered.
   - **struts-archetypes** and **struts-extras** — no process page was found 
for either; whether one ever existed is unknown.
   
   🤖 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]

Reply via email to