Skip to content

docs(release): generalize RELEASE.md to be version-agnostic + drop one-time scaffolding#36

Merged
ayhammouda merged 1 commit into
mainfrom
chore/release-runbook-cleanup
May 14, 2026
Merged

docs(release): generalize RELEASE.md to be version-agnostic + drop one-time scaffolding#36
ayhammouda merged 1 commit into
mainfrom
chore/release-runbook-cleanup

Conversation

@ayhammouda
Copy link
Copy Markdown
Owner

@ayhammouda ayhammouda commented May 14, 2026

Summary

Post-launch cleanup of .github/RELEASE.md. After running the v0.1.5 → v0.1.6 release arc through the existing runbook, three structural issues surfaced:

  1. Two parallel "release process" sections (lines 32–58 "Creating a Release" + lines 73–204 "v0.1.1 Release Checklist") describing essentially the same workflow with different levels of detail. Merged into one canonical checklist.

  2. Stale version-specific strings throughout: 0.1.1 in 7 places, 0.1.2 in 2 places, <owner> template URLs in 4 places. Replaced with an X.Y.Z placeholder convention and the actual repo URL.

  3. Entire "Post-PyPI Launch Pack Cleanup" section (lines 164–188) was scaffolding for the PyPI debut: PRE-PYPI fence removal, manual mcp-publisher submission, docs/launch/ post coordination. All of that is now either done (PRE-PYPI gone), automated (MCP Registry publish), or out of scope (docs/launch/ is local-only).

Result

  • File shrunk from 205 → 114 lines (-91, -44%)
  • Single source of truth for the release process
  • Lockstep version check across all 4 version-bearing files (was previously only pyproject.toml)
  • Cache-bust step in fresh-install verification (lesson from v0.1.6 where uvx python-docs-mcp-server --version returned stale 0.1.5 until --refresh-package)
  • MCP Registry isLatest check via JSON API (so the verification doesn't depend on a human eyeballing the registry page)

Preserved

Test plan

  • No hardcoded 0.1.x versions except the example (0.1.7) and the historical reference (v0.1.5 → v0.1.6)
  • No <owner> template strings
  • mcp-publisher validate step still present
  • Each command in the checklist is copy-paste-ready after substituting X.Y.Z
  • CI green

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated internal release checklist and procedures with clarified setup instructions and structured verification steps for the release workflow.

Review Change Stack

…e-time scaffolding

Cleans up RELEASE.md after the v0.1.5/v0.1.6 release wave. Three structural
fixes that together cut the file from 205 to 114 lines:

1. Collapse the duplicate "Creating a Release" + "v0.1.1 Release Checklist"
   sections into one canonical "Release Checklist" using an X.Y.Z
   placeholder. Maintainers replace X.Y.Z with the version they are
   releasing.

2. Replace hardcoded versions (0.1.1, 0.1.2) and `<owner>` template URLs
   with X.Y.Z placeholders and the actual repo URL. The two surviving
   numeric references (0.1.7 as the example version; v0.1.5 → v0.1.6 as
   historical context for the mcp-publisher-validate step) are
   intentional.

3. Drop the "Post-PyPI Launch Pack Cleanup" section entirely. That work
   (PRE-PYPI fence strip, docs/launch/ submission paths, manual MCP
   Registry submission) was a one-time scaffolding for the PyPI debut.
   PRE-PYPI fences are gone from README; MCP Registry publish is now
   automated by the release workflow; docs/launch/ is not tracked.

Preserves from earlier work:
- The mcp-publisher validate check added in PR #35.
- The Trusted Publishing one-time setup steps.
- Coverage notes (Python 3.13 release matrix; docs 3.10–3.14).

Adds:
- Lockstep version check across all four files (pyproject.toml +
  server.json:11 + server.json:17 + uv.lock).
- Cache-bust step in fresh-install verification (lesson from v0.1.6
  where uvx returned stale 0.1.5 until --refresh-package).
- MCP Registry isLatest check via JSON API.
@ayhammouda ayhammouda merged commit 5fd3aed into main May 14, 2026
6 of 7 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 14, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 836804b2-f63f-4c41-bd9a-5cd65faea0fe

📥 Commits

Reviewing files that changed from the base of the PR and between 2532244 and 6876ea8.

📒 Files selected for processing (1)
  • .github/RELEASE.md

📝 Walkthrough

Walkthrough

The release documentation in .github/RELEASE.md is replaced with a generalized, current release checklist. It documents one-time PyPI Trusted Publishing setup, specifies Python version coverage (3.13 for release, 3.12 for CI), and provides a structured verification sequence from pre-release checks through post-release validation and completion assertions.

Changes

Release Documentation Update

Layer / File(s) Summary
Trusted Publishing Setup and Coverage Documentation
.github/RELEASE.md
Adds one-time PyPI Trusted Publishing setup instructions for configuring the python-docs-mcp-server publisher, release.yml workflow, and pypi GitHub environment, alongside Python version coverage notes (3.13 for release workflow, 3.12 for CI).
Release Process Verification Checklist
.github/RELEASE.md
Structures release as a sequential checklist: pre-release verification (CI green, local tests, version cross-checks including server.json validation, integration tests, doctor pass, changelog), tag and annotated release workflow, post-release verification (PyPI provenance, clean installs, full install flow, registry isLatest targeting, GitHub Release validation, optional E2E and Claude smoke tests), and final completion assertions.

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly Related PRs

  • ayhammouda/python-docs-mcp-server#28: Both PRs modify the same .github/RELEASE.md file, specifically the PyPI Trusted Publishing and release workflow setup sections, with direct overlap in the release-checklist steps and configuration references.
  • ayhammouda/python-docs-mcp-server#26: Both PRs update .github/RELEASE.md release and trusted-publishing checklist content, covering overlapping areas of the release process documentation.

Poem

🐰 The release docs now dance with grace,
From chaos old to structure's place,
Each step aligned, no more to fear,
A checklist true for every year!
Trusted and clear, the path is bright—
Release with confidence and might!

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-runbook-cleanup

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant