lukaszlenart commented on code in PR #1844: URL: https://github.com/apache/struts/pull/1844#discussion_r3782715441
########## .claude/skills/releasing-struts/SKILL.md: ########## @@ -0,0 +1,140 @@ +--- +name: releasing-struts +description: Use when running or planning an Apache Struts release on any maintenance line (6.x, 7.x) - cutting the tag, staging artifacts, opening the vote, promoting, updating the site and announcing - or when asked what the next step in a release is. +--- + +# Releasing Struts + +## Overview + +A release is seven phases with a gate between each. Most of the *writing* is already covered by +other skills; this one owns the **order, the gates, and the mechanics** — and it is the only +place that covers the last mile after the vote passes. + +**Core principle:** a phase is finished when its gate is verifiable by someone other than you. +"I ran the command" is not a gate; "the URL resolves" is. + +[`release-runbook.md`](release-runbook.md) holds the commands. This page holds the sequence and +the judgement. + +## The phases + +| # | Phase | Gate before moving on | +|---|---|---| +| 1 | Prepare | Branch green, versions decided, BOM in sync | +| 2 | Cut | Tag pushed, artifacts in a **closed** Nexus staging repo | +| 3 | Stage | Assemblies in `dist/dev`, Version Notes page live, `[TEST]` mail sent | +| 4 | Vote | 72 h elapsed, three binding `+1`, result mail sent | +| 5 | Promote | Nexus repo released, `dist/dev` → `dist/release`, 24 h rsync waited | +| 6 | Publish | Site PR merged, GitHub release un-flagged, `[ANN]` mail delivered | +| 7 | Advisories | Bulletins public, CVE records filled, advisory mails delivered | + +Phase 7 only exists when the release carries a security fix, and it is **strictly after** phase +6 — see *Security work is a separate clock* below. + +## Which skill owns which artifact + +Cross-references, not copies. Do not restate what these settle: + +- **`creating-version-notes`** — the Version Notes page, its Staging Repository block, the + Migration Guide entry, the GitHub release notes, and the `[TEST]` mail. All of phase 3's + paperwork. +- **`creating-release-vote-mail`** — the `[VOTE]` mail. All of phase 4's paperwork. +- **`creating-security-bulletins`** — the S2-XXX page, what may be disclosed and when, + publication, and the advisory mails. All of phase 7. Review Comment: This isn't really true, that skill can be used early in the process, or even separately. It doesn't have to be used in phase 7 only, yet phase 7 should follow it if needed -- 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]
