Skip to content

chore: Keep Release Please PRs readable and unblocked#1451

Merged
hatayama merged 6 commits into
v3-betafrom
fix/hatayama/release-pr-label-sync
Jul 1, 2026
Merged

chore: Keep Release Please PRs readable and unblocked#1451
hatayama merged 6 commits into
v3-betafrom
fix/hatayama/release-pr-label-sync

Conversation

@hatayama

@hatayama hatayama commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Release Please can recover after merged release PRs whose summaries include component names before versions.
  • Generated release PRs now label component headings as Unity Package and uloop Project Runner instead of showing version-only headings.

User Impact

  • The next release PR should appear after a component-formatted release PR is merged and published.
  • Release reviewers can distinguish Unity package and project runner entries from the blue Markdown headings without relying on the collapsed summary text.
  • Maintainers should not need to manually relabel completed release PRs to unblock Release Please.

Changes

  • Resolve release tags from component-prefixed summaries, including unity-package: 3.0.0-beta.47 and uloop-project-runner: 3.0.0-beta.45.
  • Clarify Release Please component headings during release PR check dispatch.
  • Add regression tests for stale pending labels, component release tags, and component heading text.

Verification

  • go test ./internal/automation -count=1
  • scripts/test-release-please-config.sh
  • scripts/test-sync-published-release-pr-labels.sh
  • scripts/test-mark-release-pr-tagged.sh
  • git diff --check
  • scripts/check-go-cli.sh
  • autoreview --mode branch --base origin/v3-beta

Release PRs can list component names in summary headings, such as unity-package: 3.0.0-beta.47. Parse those summaries so published release PRs do not keep stale autorelease: pending labels and block later release-please runs.
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

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

Next review available in: 20 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

Run ID: 5fc7268a-723e-4db0-8c0e-0e05f18d672f

📥 Commits

Reviewing files that changed from the base of the PR and between aed90c9 and ed42020.

📒 Files selected for processing (4)
  • cli/internal/automation/release_pr_body.go
  • cli/internal/automation/release_pr_checks_test.go
  • scripts/sync-published-release-pr-labels.sh
  • scripts/test-sync-published-release-pr-labels.sh
📝 Walkthrough

Walkthrough

Updates release PR body rewriting to use component labels, wires the new clarifier into release checks and tests, and broadens published release label sync to handle component-prefixed summaries.

Changes

Release automation updates

Layer / File(s) Summary
Body clarification helpers
cli/internal/automation/release_pr_body.go
Adds regex-driven rewriting for plain release summaries and <details> headings, including component display-name mapping for unity-package and uloop-project-runner.
Checks flow and tests
cli/internal/automation/release_pr_checks.go, cli/internal/automation/release_pr_checks_test.go
Swaps the release PR checks flow to the component-label clarifier, updates the success log text, removes the old Unity-specific helper, and updates/extends tests for the new heading rewriting behavior.
Published release label sync
scripts/sync-published-release-pr-labels.sh, scripts/test-sync-published-release-pr-labels.sh
Allows optional prefix text before the extracted version in release summaries and adds a test case covering component-prefixed summaries in the sync script.

Estimated code review effort: 4 (Complex) | ~45 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 75.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the Release Please PR readability and label-sync fix.
Description check ✅ Passed The description matches the changeset and explains the parsing, labeling, and test updates.
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 fix/hatayama/release-pr-label-sync

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.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 2 files

Re-trigger cubic

Release Please writes grouped component details with version-only Markdown headings, which makes release PRs look like duplicate package releases. Label generated headings with component display names while preserving the existing summary fallback.
@hatayama hatayama changed the title chore: Stop stale release labels from blocking Release Please chore: Keep Release Please PRs readable and unblocked Jul 1, 2026
Component-prefixed release PR summaries identify which release tag format should be checked. Carry the component into tag construction so project runner release PRs look for uloop-project-runner-v tags instead of package v tags.

@cubic-dev-ai cubic-dev-ai 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.

1 issue found across 2 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="scripts/sync-published-release-pr-labels.sh">

<violation number="1" location="scripts/sync-published-release-pr-labels.sh:41">
P2: Prefer the body-derived component tag before the title-derived generic tag. Otherwise project-runner release PRs with numeric release titles keep looking up v<version> and never clear the pending label after uloop-project-runner-v<version> is published.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread scripts/sync-published-release-pr-labels.sh Outdated
hatayama added 2 commits July 1, 2026 22:19
Match the project name casing in generated Release Please component headings so project runner entries are labeled as uloop Project Runner.
Review feedback showed that legacy numeric release titles can hide the component-specific tag in grouped Release Please bodies. Use the body-derived component tag first, then fall back to the title so project runner release PR labels clear after uloop-project-runner-v releases publish.

@cubic-dev-ai cubic-dev-ai 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.

1 issue found across 2 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread scripts/test-sync-published-release-pr-labels.sh
Strengthen the release label sync regression test so it fails if numeric release titles trigger a generic v tag lookup before the component-derived project runner tag.
@hatayama
hatayama merged commit 22080b9 into v3-beta Jul 1, 2026
10 checks passed
@hatayama
hatayama deleted the fix/hatayama/release-pr-label-sync branch July 1, 2026 13:37
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