Skip to content

ci: land release-notes regen on main via PR instead of committing to release - #21

Merged
moui72 merged 2 commits into
mainfrom
ci/release-notes-via-pr
Jul 24, 2026
Merged

ci: land release-notes regen on main via PR instead of committing to release#21
moui72 merged 2 commits into
mainfrom
ci/release-notes-via-pr

Conversation

@moui72

@moui72 moui72 commented Jul 24, 2026

Copy link
Copy Markdown
Owner

stable-release.yml's final step committed the regenerated docs/release-notes.md directly to the release branch, making release diverge from main and permanently tripping the workflow's own fast-forward guard on every cut after the first (today's v1.2.0 dispatch failed exactly there; release was manually reset to main to unblock).

This keeps regeneration after publish — the notes must include the just-cut release, since release-notes.sh reads the GitHub releases API — but lands the commit on main via a short-lived branch + PR with best-effort auto-merge (the ardd-badge.yml idiom; main's branch protection blocks direct workflow pushes). release is now only ever pushed main SHAs, so the ff-guard cannot trip again. Its copy of the notes trails by one cut, which is cosmetic — the docs site builds from main.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DPyUE4w2CWGbtyafYfhhxw

Summary by CodeRabbit

  • Documentation
    • Release notes are now regenerated after stable releases and proposed to the main development branch through an automated pull request.
    • Unchanged release notes no longer create unnecessary commits or pull requests.
  • Chores
    • Automated release-note updates now use squash merging where available without interrupting the release process if automatic merging is unavailable.

…release

stable-release.yml's final step committed the regenerated
docs/release-notes.md directly to the release branch, making release
diverge from main and permanently tripping the workflow's own
fast-forward guard on every cut after the first. Regenerate after
publish as before (the notes must include the just-cut release), but
land the commit on main via a short-lived branch + PR with best-effort
auto-merge (the ardd-badge.yml idiom — main's protection blocks direct
pushes). release is now only ever pushed main SHAs, so the guard cannot
trip again; its copy of the notes trails by one cut (cosmetic — the
docs site builds from main).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DPyUE4w2CWGbtyafYfhhxw
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@moui72, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 24 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f4e86252-c987-430b-b6f1-4d1c78382ffc

📥 Commits

Reviewing files that changed from the base of the PR and between 85808d4 and f77a0d5.

📒 Files selected for processing (1)
  • .github/workflows/stable-release.yml

Walkthrough

The stable release workflow now regenerates release notes after publishing, commits changes only when needed, and submits them to main through a temporary branch and pull request with best-effort squash auto-merge.

Changes

Stable release notes integration

Layer / File(s) Summary
Regenerate and merge release notes
.github/workflows/stable-release.yml
The workflow documents and implements conditional release-notes commits on a temporary branch, opens a pull request targeting main, and attempts squash auto-merge without failing the release when unavailable.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: release notes are now landed on main via PR instead of being committed to release.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/release-notes-via-pr

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

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/stable-release.yml:
- Around line 135-139: Update the release-notes branch and pull-request flow
around the branch variable to be idempotent across workflow reruns: reuse the
existing remote branch and associated PR when present, or incorporate
GITHUB_RUN_ATTEMPT with explicit deduplication. Ensure reruns do not fail on
pushing an already-existing branch or create duplicate delivery attempts.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f6a39300-3d2e-4ff2-9fad-da871cf495cd

📥 Commits

Reviewing files that changed from the base of the PR and between eeeb300 and 85808d4.

📒 Files selected for processing (1)
  • .github/workflows/stable-release.yml

Comment thread .github/workflows/stable-release.yml Outdated
@moui72
moui72 merged commit 20d8960 into main Jul 24, 2026
47 checks passed
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