From d88d470aff8e2e35ceb0df139cbb7dac1725f7af Mon Sep 17 00:00:00 2001 From: Giovanni Condello Date: Sat, 17 Oct 2026 15:34:59 +0200 Subject: [PATCH] chore: create a GitHub release in /release and document it --- .claude/commands/release.md | 10 +++++++--- CLAUDE.md | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.claude/commands/release.md b/.claude/commands/release.md index 0239c73..48f24d2 100644 --- a/.claude/commands/release.md +++ b/.claude/commands/release.md @@ -9,15 +9,19 @@ Usage: 1. Confirm the current branch is `develop` and is up to date with `origin/develop`. 2. Read CHANGELOG.md to find the version being prepared (the top-most `## X.Y.Z` entry). 3. List existing tags to determine the next RC number (e.g. if `0.13.0-rc1` exists, use `rc2`). -4. Run `poetry run pytest tests` — do not tag if tests fail. +4. Run `poetry run pytest tests` and check that CI on `develop` HEAD is green (`gh run list --branch develop --limit 3`) — do not tag if either fails. 5. Tag `develop` HEAD as `-rc` and push the tag. -6. Report the tag name and the `git log --oneline ..HEAD` summary. +6. Create the GitHub pre-release with generated notes: + `gh release create --verify-tag --prerelease --title --generate-notes --notes-start-tag ` +7. Report the tag name, the release URL and the `git log --oneline ..HEAD` summary. Mention that the "build dev images" run was started by the tag. ## Stable release (`/release stable`) 1. Confirm CHANGELOG.md has a section for the version being released. 2. Open a PR from `develop` → `main` titled `chore: release `. 3. After the user confirms the PR is merged, tag `main` HEAD as `` and push. -4. Report the tag and the GitHub release URL. +4. Create the GitHub release with generated notes, starting from the previous stable tag (not an RC) so the notes cover the whole release: + `gh release create --verify-tag --latest --title --generate-notes --notes-start-tag ` +5. Report the tag and the GitHub release URL. **RC tags always go on `develop`. Stable tags always go on `main`.** diff --git a/CLAUDE.md b/CLAUDE.md index 9e15ce7..5b1d7a8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,6 +16,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co 3. Tag `develop` as `-rc` (e.g. `0.13.0-rc1`) and push the tag — **RC tags live on `develop`, not `main`**. 4. After the RC is validated, open a PR from `develop` → `main` and merge it. 5. Tag the resulting `main` commit as the final release (e.g. `0.13.0`) and push the tag. +6. Create a GitHub release for every tag, RC or final, with generated notes (`gh release create --verify-tag --generate-notes`). Add `--prerelease` for RCs and `--latest` for the final release. `/release` does this. ## Commands