Skip to content

docs: update RELEASING.md for strict PR-based release flow#49

Merged
JohnRDOrazio merged 1 commit intodevfrom
chore/releasing-docs-pr-flow
Apr 9, 2026
Merged

docs: update RELEASING.md for strict PR-based release flow#49
JohnRDOrazio merged 1 commit intodevfrom
chore/releasing-docs-pr-flow

Conversation

@JohnRDOrazio
Copy link
Copy Markdown
Member

@JohnRDOrazio JohnRDOrazio commented Apr 9, 2026

Summary

  • Updates RELEASING.md to reflect the new dev/main branch model with strict branch protection
  • Release process now uses release/* branches with PRs to main (no direct push)
  • Next-dev-version bumps use PRs to dev

Test plan

  • Review the updated release steps for correctness

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated release procedures to use pull request-based approval workflows and intermediate release branches. Changes include automated CI validation gates before merging to main, versioned release branches for version preparation, and dedicated development branches for version updates to improve release process control and safety.

Both main and dev are now protected with enforce_admins. The release
process uses a release/* branch with a PR to main, and a separate PR
to dev for the next-dev-version bump.
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 9, 2026

📝 Walkthrough

Walkthrough

Release process documentation was restructured to introduce PR-based gates and intermediate release branches. The workflow now uses dedicated release branches and PRs instead of direct commits to dev/main, with steps reorganized accordingly and the quick reference diagram updated.

Changes

Cohort / File(s) Summary
Release Process Documentation
RELEASING.md
Release instructions reworked to use PR-based gates with release/<version> and chore/next-dev-version branches. Steps now include creating dedicated PRs rather than direct merges, and pushing only tags in final step instead of branches.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 With branches held dear and PRs held tight,
Our releases now flow through review's gentle light,
No rushing to main with a push and a prayer,
Each step has a gate, each merge gets fair care,
The rabbit rejoices—the process is clear! 🌿

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: update RELEASING.md for strict PR-based release flow' directly and clearly summarizes the main change: updating documentation to reflect a new PR-based release workflow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/releasing-docs-pr-flow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
RELEASING.md (1)

107-114: Consider making the branch context explicit.

The gh pr create command relies on the current branch being release/0.2.0 from Step 1. Consider either adding a note that the user should still be on that branch, or making it explicit in the command with --head release/0.2.0.

📝 Suggested clarification

Option 1 - Add explicit head reference:

-gh pr create --base main --title "Release 0.2.0" \
+gh pr create --base main --head release/0.2.0 --title "Release 0.2.0" \
   --body "Merge release 0.2.0 into main for tagging."

Option 2 - Add a note:

### 2. Open a PR to `main`

From the `release/0.2.0` branch, create a pull request:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@RELEASING.md` around lines 107 - 114, Clarify the branch context for the GH
PR step by either adding the explicit head flag to the gh pr create command
(e.g., include --head release/0.2.0) or by adding a one-line note above the step
stating the user should be on the release/0.2.0 branch before running gh pr
create --base main --title "...", so the intent of the gh pr create and the
release/0.2.0 branch is unambiguous.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@RELEASING.md`:
- Around line 158-167: The fenced ASCII-art code block shown (the
triple-backtick block containing the release diagram starting with "dev         
dev") lacks a language identifier; update the opening fence from ``` to ```text
so the block becomes a labeled text block (e.g., change the opening fence of the
ASCII diagram to ```text) to satisfy MD040/fenced-code-language linting.

---

Nitpick comments:
In `@RELEASING.md`:
- Around line 107-114: Clarify the branch context for the GH PR step by either
adding the explicit head flag to the gh pr create command (e.g., include --head
release/0.2.0) or by adding a one-line note above the step stating the user
should be on the release/0.2.0 branch before running gh pr create --base main
--title "...", so the intent of the gh pr create and the release/0.2.0 branch is
unambiguous.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 7d055d8f-aae8-41e0-914e-b5d9ac3b42c3

📥 Commits

Reviewing files that changed from the base of the PR and between 619f27c and cdd8842.

📒 Files selected for processing (1)
  • RELEASING.md

Comment on lines 158 to 167
```
dev dev
│ │
prepare-release.py tag & push
(strips -dev) (on main)
│ │ ┌─ PyPI set-version.py 0.4.0
▼ ▼
0.3.0-dev ──▸ 0.3.0 ──merge──▸ main ──tag──▸ CI ────┼─ GitHub Release│
└─ GHCR └── 0.4.0-dev
dev dev
│ release/0.2.0 branch PR → main tag
prepare-release.py (CI gate) (push)
│ │ ┌─ PyPI chore/next-dev-version
▼ ▼ │ set-version.py 0.3.0
0.2.0-dev ──▸ 0.2.0 ──PR──▸ main (merge) ──tag──▸ CI ──────┼─ GitHub │ PR → dev
└─ GHCR └── 0.3.0-dev
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Add language identifier to fenced code block.

The fenced code block should specify a language identifier to satisfy markdown linting rules. For ASCII art diagrams, use text.

🔧 Proposed fix
-```
+```text
 dev                                                                       dev
  │                                                                         │

As per coding guidelines, static analysis flagged: "Fenced code blocks should have a language specified (MD040, fenced-code-language)".

🧰 Tools
🪛 markdownlint-cli2 (0.22.0)

[warning] 158-158: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@RELEASING.md` around lines 158 - 167, The fenced ASCII-art code block shown
(the triple-backtick block containing the release diagram starting with "dev    
dev") lacks a language identifier; update the opening fence from ``` to ```text
so the block becomes a labeled text block (e.g., change the opening fence of the
ASCII diagram to ```text) to satisfy MD040/fenced-code-language linting.

@JohnRDOrazio JohnRDOrazio merged commit f8d64c7 into dev Apr 9, 2026
10 checks passed
@JohnRDOrazio JohnRDOrazio deleted the chore/releasing-docs-pr-flow branch April 9, 2026 02:17
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