Skip to content

ci(bump-callers): add cursor-review-auto-label caller fleet (BE-4005)#60

Open
mattmillerai wants to merge 2 commits into
mainfrom
matt/be-4005-bump-cursor-review-auto-label-callers
Open

ci(bump-callers): add cursor-review-auto-label caller fleet (BE-4005)#60
mattmillerai wants to merge 2 commits into
mainfrom
matt/be-4005-bump-cursor-review-auto-label-callers

Conversation

@mattmillerai

Copy link
Copy Markdown
Contributor

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.yml never got a bumper, so every repo using it slowly fell behind (while its sibling ci-cursor-review.yml caller 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

  • New .github/workflows/bump-cursor-review-auto-label-callers.yml — thin entrypoint over the shared bump-callers.sh, mirroring bump-cursor-review-callers.yml: triggers on push-to-main touching .github/workflows/cursor-review-auto-label.yml (plus workflow_dispatch for on-demand re-bumps), reads vars.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, shellcheck clean, actionlint clean.
  • AGENTS.md catalog + 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).

⚠️ Manual follow-up required (repo variables are not in-repo files — this PR cannot create them)

After merge, seed the variable with the current consumers:

gh variable set CURSOR_REVIEW_AUTO_LABEL_CALLERS --repo Comfy-Org/github-workflows --body \
  '[{"repo":"Comfy-Org/cloud","file":".github/workflows/cursor-review-auto-label.yml","label":""},{"repo":"Comfy-Org/website","file":".github/workflows/cursor-review-auto-label.yml","label":""}]'

(Then optionally gh workflow run bump-cursor-review-auto-label-callers.yml to catch both consumers up immediately.) Also add the entries to the canonical callers.json in the private ops repo.

Judgment calls

  • ALLOW_EMPTY: "true" — deviates from the mirror target (CURSOR_REVIEW_CALLERS hard-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 the bump-assign-reviewers-callers.yml precedent (variable created out-of-band, seeded empty). Trade-off: if seeding is forgotten, the fleet no-ops silently — hence the loud follow-up above.
  • No WIRE_BOT_SCRIPT — the bot-identity injection (BE-1814) is cursor-review-specific by design (bump-cursor-review-callers.yml says 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 — clean
  • bash .github/bump-callers/tests/test_bump_callers.sh — 100 passed, 0 failed (12 new checks)
  • actionlint on both touched workflows — clean
  • python3 .github/agents-md-integrity/check_agents_md.py --root . — passed (pre-existing CODEOWNERS warning only)

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.
@mattmillerai mattmillerai added cursor-review Multi-model cursor review agent-coded Authored by the agent-work loop labels Jul 22, 2026
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 59 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: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: f2baf8a0-3e12-4f3c-9b45-14098af1bb46

📥 Commits

Reviewing files that changed from the base of the PR and between cc325ca and 89e3110.

📒 Files selected for processing (6)
  • .github/bump-callers/README.md
  • .github/bump-callers/bump-callers.sh
  • .github/bump-callers/tests/test_bump_callers.sh
  • .github/workflows/bump-cursor-review-auto-label-callers.yml
  • .github/workflows/test-bump-callers.yml
  • AGENTS.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch matt/be-4005-bump-cursor-review-auto-label-callers
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch matt/be-4005-bump-cursor-review-auto-label-callers

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

@github-actions github-actions 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.

🔍 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.

Comment thread .github/workflows/bump-cursor-review-auto-label-callers.yml Outdated
Comment thread .github/workflows/bump-cursor-review-auto-label-callers.yml
Comment thread .github/workflows/bump-cursor-review-auto-label-callers.yml
Comment thread .github/workflows/bump-cursor-review-auto-label-callers.yml
…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>
@mattmillerai

Copy link
Copy Markdown
Contributor Author

🤖 The reviews loop filed Linear follow-up ticket(s) for review thread(s) deferred as out of scope for this PR:

  • BE-4058 — Bring sibling bump-*-callers entrypoints to parity with the hardened auto-label bumper

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

Labels

agent-coded Authored by the agent-work loop cursor-review Multi-model cursor review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant