Skip to content

docs(release): add a maintainer skill for cutting a release - #1795

Merged
mergify[bot] merged 1 commit into
mainfrom
devs/jd/worktree-skill/add-maintainer-skill-cutting-release--588ca3b8
Sep 7, 2026
Merged

docs(release): add a maintainer skill for cutting a release#1795
mergify[bot] merged 1 commit into
mainfrom
devs/jd/worktree-skill/add-maintainer-skill-cutting-release--588ca3b8

Conversation

@jd

@jd jd commented Sep 4, 2026

Copy link
Copy Markdown
Member

RELEASING.md documents the two-stage flow for a human driving the
Actions UI. This adds the agent-facing counterpart: the gh commands
for each stage, the pre-flight checks, and the guardrails.

It lives in .claude/skills/, not the published skills/ tree — that
one ships as the mergify plugin for CLI users, where a runbook for
releasing this repo would fire on anyone asking to release their own
project.

Content beyond what RELEASING.md already covers:

  • Up front: there is no version to bump in any file, so no "release
    prep" PR. The workflow stamps the tag at build time.
  • Pre-flight: main is green, no leftover draft, what ships since the
    last tag.
  • Stage 2 is irreversible and outward-facing (immutable release, PyPI
    push), so the skill stops after the draft and requires an explicit
    go-ahead. Stage 1 is marked safe and repeatable.
  • Post-publish verification of the Homebrew tap, which was undocumented:
    the homebrew-tap-sync workflow in Mergifyio/mergify-ci-bot opens a
    formula-bump PR against Mergifyio/homebrew-tap within ~20 min of
    publish, and it still needs a human to merge.

The why — GitHub's immutable-releases policy and the reason stage 1 runs
from workflow_dispatch — stays in RELEASING.md, which the skill
points at, so the two can't drift on the rationale.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01RVKnCd4MKakhVJJiJTfZcD

Copilot AI lite review requested due to automatic review settings September 4, 2026 10:04
@mergify
mergify Bot had a problem deploying to Mergify Merge Protections September 4, 2026 10:04 Failure
@mergify

mergify Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Merge Protections

🟢 All 6 merge protections satisfied — ready to merge.

Show 6 satisfied protections

🟢 🤖 Continuous Integration

  • all of:
    • check-success=ci-gate

🟢 👀 Review Requirements

  • any of:
    • #approved-reviews-by>=2
    • author = dependabot[bot]
    • author = mergify-ci-bot
    • author = renovate[bot]

🟢 Enforce conventional commit

Make sure that we follow https://www.conventionalcommits.org/en/v1.0.0/

  • title ~= ^(fix|feat|internal|docs|style|refactor|perf|test|build|ci|chore|revert|ui)(?:\(.+\))?!?:

🟢 🔎 Reviews

  • #changes-requested-reviews-by = 0
  • #review-requested = 0
  • #review-threads-unresolved = 0

🟢 📕 PR description

  • body ~= (?ms:.{48,})

🟢 🚦 Auto-queue

When all merge protections are satisfied, this pull request will be queued automatically.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The change is isolated to documentation for maintainer operations and matches the referenced workflow structure without introducing code risk.

Pull request overview

Adds an agent-facing “releasing” skill runbook under .claude/skills/ that mirrors the existing human-driven RELEASING.md workflow, focusing on driving the two-stage GitHub Actions release process via gh while emphasizing safety guardrails around draft vs publish.

Changes:

  • Introduces a new maintainer skill document for cutting a release using gh commands (pre-flight checks, stage 1 draft, stage 2 publish).
  • Documents irreversible vs repeatable steps and enforces an explicit “go-ahead” before publishing.
  • Adds post-publish verification steps, including the Homebrew tap sync PR flow.
File summaries
File Description
.claude/skills/releasing/SKILL.md Adds the agent-oriented release runbook (commands, guardrails, verification, recovery) aligned with the release.yml workflow.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mergify
mergify Bot requested a review from a team September 4, 2026 10:11
@jd
jd marked this pull request as ready for review September 4, 2026 12:41
@jd
jd force-pushed the devs/jd/worktree-skill/add-maintainer-skill-cutting-release--588ca3b8 branch from 7805be8 to 7e8ce16 Compare September 4, 2026 12:59
@jd
jd changed the base branch from main to devs/jd/worktree-skill/use-admin-token-test-search-smoke-test--5a1fe7db September 4, 2026 12:59
@jd

jd commented Sep 4, 2026

Copy link
Copy Markdown
Member Author

This pull request is part of a Mergify stack:

# Pull Request Link
1 fix(live-tests): use the admin token for the test-search smoke test #1796
2 docs(release): add a maintainer skill for cutting a release #1795 👈

@jd

jd commented Sep 4, 2026

Copy link
Copy Markdown
Member Author

Revision history

# Type Changes Reason Date
1 initial 7805be8 2026-09-04 12:59 UTC
2 rebase 7805be8 → 7e8ce16 (rebase only) Rebased onto the live-tests token fix below it, so this PR's own live-tests run goes green. Diff unchanged. 2026-09-04 12:59 UTC
3 rebase 7e8ce16 → d1cc0dc (rebase only) rebase onto main: the live-tests fix that used to sit under this commit (#1796) is superseded by #1798, which merged on 2026-09-07 and does the same thing plus the doc surfaces. Dropped from the stac… 2026-09-07 12:20 UTC

@mergify
mergify Bot had a problem deploying to Mergify Merge Protections September 4, 2026 12:59 Failure
@jd

jd commented Sep 4, 2026

Copy link
Copy Markdown
Member Author

Rebased onto #1796, which sits below this one in the stack now. The diff here is unchanged (7805be87e8ce16, compare — same single file, same content, new parent).

Why: live-tests was red here, and it had nothing to do with this docs-only diff. tests_show_no_match gets a 403 on GET /v1/ci/{owner}/repositories/{repo}/search/tests, on every PR in this repo, since Mergifyio/monorepo#39768 ("cut the ci application key down to least privilege") merged on 2026-09-03 08:40Z — the last green live-tests run was 2026-09-02 13:27Z. That change deliberately dropped search/tests from the ci key's scope, so the test was wrong to use the CI token. #1796 switches it to the admin token; putting it under this PR is what makes this PR's own live-tests run go green.

`RELEASING.md` documents the two-stage flow for a human driving the
Actions UI. This adds the agent-facing counterpart: the `gh` commands
for each stage, the pre-flight checks, and the guardrails.

It lives in `.claude/skills/`, not the published `skills/` tree — that
one ships as the `mergify` plugin for CLI users, where a runbook for
releasing *this* repo would fire on anyone asking to release their own
project.

Content beyond what `RELEASING.md` already covers:

- Up front: there is no version to bump in any file, so no "release
  prep" PR. The workflow stamps the tag at build time.
- Pre-flight: main is green, no leftover draft, what ships since the
  last tag.
- Stage 2 is irreversible and outward-facing (immutable release, PyPI
  push), so the skill stops after the draft and requires an explicit
  go-ahead. Stage 1 is marked safe and repeatable.
- Post-publish verification of the Homebrew tap, which was undocumented:
  the `homebrew-tap-sync` workflow in `Mergifyio/mergify-ci-bot` opens a
  formula-bump PR against `Mergifyio/homebrew-tap` within ~20 min of
  publish, and it still needs a human to merge.

The why — GitHub's immutable-releases policy and the reason stage 1 runs
from `workflow_dispatch` — stays in `RELEASING.md`, which the skill
points at, so the two can't drift on the rationale.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RVKnCd4MKakhVJJiJTfZcD
Change-Id: I588ca3b86af6143c8440af6cab0b968f80e1a0f7
@jd
jd changed the base branch from devs/jd/worktree-skill/use-admin-token-test-search-smoke-test--5a1fe7db to main September 7, 2026 12:20
@jd
jd force-pushed the devs/jd/worktree-skill/add-maintainer-skill-cutting-release--588ca3b8 branch from 7e8ce16 to d1cc0dc Compare September 7, 2026 12:20
@jd
jd deployed to func-tests-live September 7, 2026 12:20 — with GitHub Actions Active
@jd

jd commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

Rebased onto main; the diff here is unchanged (7e8ce16d1cc0dc, compare).

The live-tests fix that was sitting under this commit as #1796 is superseded by #1798, which merged today and does the same token switch plus the README, --help and mergify-ci skill surfaces it should have carried. #1796 was conflicting with main because of it, so I dropped it from the stack and closed it; this PR now sits directly on main and tests_show_no_match is green upstream.

@mergify
mergify Bot deployed to Mergify Merge Protections September 7, 2026 12:21 Active

@kozlek kozlek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Smart !

@mergify
mergify Bot requested a review from a team September 7, 2026 13:22
@mergify

mergify Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 8 minutes 30 seconds in the queue, including 7 minutes 49 seconds running CI.

Required conditions to merge

@mergify mergify Bot added the queued label Sep 7, 2026
@mergify
mergify Bot merged commit 6a40504 into main Sep 7, 2026
22 of 42 checks passed
@mergify
mergify Bot deleted the devs/jd/worktree-skill/add-maintainer-skill-cutting-release--588ca3b8 branch September 7, 2026 13:57
@mergify mergify Bot removed the queued label Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants