ci(bump-callers): add cursor-review-auto-label caller fleet (BE-4005)#60
ci(bump-callers): add cursor-review-auto-label caller fleet (BE-4005)#60mattmillerai wants to merge 2 commits into
Conversation
The auto-bump system covered cursor-review, agents-md, pr-size, and assign-reviewers, but not cursor-review-auto-label.yml — so every consumer's auto-label caller silently drifted behind the reusable it pins while its sibling ci-cursor-review.yml stayed current. Add the missing thin entrypoint (reads vars.CURSOR_REVIEW_AUTO_LABEL_CALLERS, runs the shared bump-callers.sh), register it in the fleet table + test path filters, and cover its exact parameters in the functional suite.
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 59 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
There was a problem hiding this comment.
🔍 Cursor Review — Consolidated panel
Triggered by @mattmillerai.
Found 4 finding(s).
| Severity | Count |
|---|---|
| 🟠 High | 1 |
| 🟡 Medium | 1 |
| 🟢 Low | 2 |
Panel: 8/8 reviewers contributed findings.
…ut, main-only guard, deletion no-op) (BE-4005) - Pin actions/checkout to df4cb1c0 # v6.0.3 (repo SHA-pin policy; matches pr-size.yml) - Guard the bump job with 'if: github.ref == refs/heads/main' so a manual workflow_dispatch from a non-main ref cannot pin callers to a stale SHA or run the bumper from an unreviewed commit with the App token - No-op cleanly when cursor-review-auto-label.yml is absent at the triggering SHA (the push path filter also matches deletion) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
🤖 The reviews loop filed Linear follow-up ticket(s) for review thread(s) deferred as out of scope for this PR:
|
ELI-5
This repo auto-opens "update your pin" PRs in consumer repos whenever one of its reusable workflows changes — one little bumper workflow per reusable.
cursor-review-auto-label.ymlnever got a bumper, so every repo using it slowly fell behind (while its siblingci-cursor-review.ymlcaller stayed current, leaving the two cursor-review callers in a repo pinned to different commits of this repo). This PR adds the missing bumper.What
.github/workflows/bump-cursor-review-auto-label-callers.yml— thin entrypoint over the sharedbump-callers.sh, mirroringbump-cursor-review-callers.yml: triggers on push-to-main touching.github/workflows/cursor-review-auto-label.yml(plusworkflow_dispatchfor on-demand re-bumps), readsvars.CURSOR_REVIEW_AUTO_LABEL_CALLERS, opens one SHA-bump PR per consumer as Cloud Code Bot. Own concurrency group + stable branch (ci/bump-cursor-review-auto-label), per the BE-3882 serialization pattern..github/bump-callers/README.md— new fleet row in the table..github/workflows/test-bump-callers.yml— new entrypoint added to both path filters so wrapper changes run the suite..github/bump-callers/tests/test_bump_callers.sh— two new cases driving the fleet's exact entrypoint parameters (VAR_NAME/TAG/WORKFLOW_FILE/ALLOW_EMPTY): (1) two callers — mirroring the two real consumers — each get a SHA-bump PR with the pin rewritten, comment normalized, and repo names masked; (2) an unseeded/empty variable is a clean no-op. 100/100 checks pass locally,shellcheckclean,actionlintclean.AGENTS.mdcatalog + two already-stale header comments synced (the shared script's header now points at the README fleet table instead of enumerating fleets, so it can't drift again).After merge, seed the variable with the current consumers:
(Then optionally
gh workflow run bump-cursor-review-auto-label-callers.ymlto catch both consumers up immediately.) Also add the entries to the canonicalcallers.jsonin the private ops repo.Judgment calls
ALLOW_EMPTY: "true"— deviates from the mirror target (CURSOR_REVIEW_CALLERShard-fails when empty). Deliberate: the variable is repo config the merge itself cannot create, so hard-fail semantics would guarantee a red run for any reusable change landing in the merge→seed window. This matches thebump-assign-reviewers-callers.ymlprecedent (variable created out-of-band, seeded empty). Trade-off: if seeding is forgotten, the fleet no-ops silently — hence the loud follow-up above.WIRE_BOT_SCRIPT— the bot-identity injection (BE-1814) is cursor-review-specific by design (bump-cursor-review-callers.ymlsays it is "set only here"); auto-label callers already pass their own app creds per the reusable's contract.actions/checkout@v6(tag, not SHA) — byte-identical to all four sibling bumpers; kept consistent rather than diverging in one file.Testing
shellcheck -x .github/bump-callers/bump-callers.sh .github/bump-callers/tests/test_bump_callers.sh— cleanbash .github/bump-callers/tests/test_bump_callers.sh— 100 passed, 0 failed (12 new checks)actionlinton both touched workflows — cleanpython3 .github/agents-md-integrity/check_agents_md.py --root .— passed (pre-existing CODEOWNERS warning only)