This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/struts-site.git


The following commit(s) were added to refs/heads/main by this push:
     new cff3eb155 docs: put the [ANN] email in the PR description in 
announcing-struts-release skill (#307)
cff3eb155 is described below

commit cff3eb1551f8e82bfb4b514f5a659337e18bb895
Author: Lukasz Lenart <[email protected]>
AuthorDate: Tue Jun 30 07:56:28 2026 +0200

    docs: put the [ANN] email in the PR description in 
announcing-struts-release skill (#307)
    
    Instead of outputting the [ANN] email to the chat console, the skill now
    places it in the draft PR's description (fenced block under an "## [ANN] 
email"
    heading) so the release manager can copy it verbatim after merge. The email 
is
    still never committed to the repo. Reorders the workflow to draft the email
    before opening the PR, and updates the overview, template heading, and the
    common-mistakes note to match.
    
    Co-authored-by: Claude Opus 4.8 <[email protected]>
---
 .claude/skills/announcing-struts-release/SKILL.md | 27 +++++++++++++++--------
 1 file changed, 18 insertions(+), 9 deletions(-)

diff --git a/.claude/skills/announcing-struts-release/SKILL.md 
b/.claude/skills/announcing-struts-release/SKILL.md
index 6beaedb25..bda7f8f44 100644
--- a/.claude/skills/announcing-struts-release/SKILL.md
+++ b/.claude/skills/announcing-struts-release/SKILL.md
@@ -9,8 +9,9 @@ description: Use when a new Apache Struts version has been 
released and you need
 
 Publishing a release announcement on the struts-site repo is a fixed, 
repeatable
 procedure: add an announcement entry, bump the right version variables, move 
the
-superseded version to Prior Releases, open a draft PR, and draft the `[ANN]` 
email
-(the email is NOT committed — it is sent to the mailing list after merge).
+superseded version to Prior Releases, draft the `[ANN]` email, and open a 
draft PR
+with the email in its description (the email is NOT committed — the release 
manager
+copies it from the PR description and sends it to the mailing list after 
merge).
 
 Model PRs: #292 (6.9.0 GA), this skill was derived from the 6.10.0 release.
 
@@ -46,9 +47,14 @@ Model PRs: #292 (6.9.0 GA), this skill was derived from the 
6.10.0 release.
 4. **`source/releases.md`** — move the now-superseded version of the **same 
line** into
    the **Prior Releases** table, newest first. Match the column widths and the
    vulnerability-cell style of the row above it (empty if no published 
bulletin).
-5. **Branch + commit + draft PR** — branch `docs/announce-<version>`, commit 
type
-   `docs:`, then `gh pr create --draft --base main`. Return a clickable PR 
link.
-6. **Draft the email** — output the `[ANN]` email (below) in chat. Do **not** 
commit it.
+5. **Draft the email** — build the `[ANN]` email (below). It is **not** 
committed to
+   the repo; it goes into the PR description in the next step.
+6. **Branch + commit + draft PR** — branch `docs/announce-<version>`, commit 
type
+   `docs:`, then `gh pr create --draft --base main`. Put the `[ANN]` email in 
the PR
+   description inside a fenced ```text block under an `## [ANN] email` 
heading, so the
+   release manager can copy it verbatim after merge. **Write the PR body to a 
file and
+   pass `--body-file`** — the email contains ``` ``` ``` fences that a shell 
heredoc /
+   `--body "…"` will mangle (escaped backticks). Return a clickable PR link.
 
 ## Announcement template (`announce-YYYY.md`)
 
@@ -79,10 +85,12 @@ You can download this version from our 
[download](download.cgi#struts-ga) page.
 For a **7.x** release adjust the spec-versions paragraph to the 7.x 
requirements
 (Servlet 5.0 / Jakarta / Java 17 — copy from the most recent 7.x announcement).
 
-## Email template (`[ANN]` — NOT committed, sent to announcements list)
+## Email template (`[ANN]` — goes in the PR description, NOT committed)
 
-Sent by the release manager to `[email protected]` (cc user 
list).
-Plain text, full URLs inline, signed off. Mirror the website announcement 
wording:
+Placed in the PR description (fenced ```text block under an `## [ANN] email` 
heading),
+then sent by the release manager to `[email protected]` (cc user 
list)
+after merge. Plain text, full URLs inline, signed off. Mirror the website 
announcement
+wording:
 
 ```text
 Subject: [ANN] Apache Struts <X.Y.Z>
@@ -129,6 +137,7 @@ the Version Notes link pointing to 
`https://cwiki.apache.org/confluence/display/
 | Editing `index.html` when staying in the same year | It auto-renders from 
variables; only edit when the year file changes. |
 | Adding the new version to Prior Releases | Move the **superseded** 
(previous) version of that line, not the one just released. |
 | Forgetting `*_short` variables | Short forms are digits-only version 
(`6100`) and `YYYYMMDD` date — anchors break otherwise. |
-| Committing the email | The email is drafted in chat and sent to the list 
manually — never committed. |
+| Committing the email | The email goes in the PR description and is sent to 
the list manually — never committed to the repo. |
+| Escaped ``` ``` ``` fences in the PR body | Write the body to a file and use 
`gh pr ... --body-file`; inline `--body "…"` / heredoc mangles the email's code 
fences. |
 | Inventing an `S2-0XX` number | Only link a bulletin that actually exists; 
otherwise leave it out. |
 ```

Reply via email to