Repository navigation
feat: implement issue #276 — [Fleet Monitor] petry-projects/markets — .github/workflows/pr-review.yml - #277
Conversation
… .github/workflows/pr-review.yml
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
|
Warning Review limit reached
More reviews will be available in 50 minutes and 1 second. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?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 credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. 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, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-18T11:58:10Z. |
Superseded by automated re-review at
|
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-19T17:50:21Z. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-20T02:42:49Z. |
donpetry-bot
left a comment
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: MEDIUM
Reviewed commit: b9c67dc32c2d0e20b8a7352ada999189d2e32c8d
Cascade: triage → deep (triage: haiku 4.5 → deep: opus 4.8 + duck: o4-mini → audit: fable 5)
Summary
PR #277 adds a per-PR concurrency group (cancel-in-progress) plus a job if-guard skipping PR-less check_suite events to the markets thin caller stub .github/workflows/pr-review.yml, directly and proportionately fixing issue #276 (duplicate/cancelled overlapping review runs). The change is correct across all five trigger types, introduces no security smell (interpolated values are used only in concurrency.group and the job if:, never in shell; pinned ref, secrets: inherit, permissions, and triggers are all unchanged), and all CI gates are green with no unresolved review threads. The prior cycle-1 withhold was a process-only hold on rate-limited advisory bots whose recovery windows have since elapsed; SonarCloud and CodeRabbit now report SUCCESS, so the change is approvable.
Findings
- INFO: MCP run_secret_scanning unavailable (repository does not have GitHub Advanced Security enabled). Not blocking; the gitleaks CI secret-scan check passed SUCCESS at this head, and the added content is pure workflow concurrency YAML with no credential material.
- INFO: Concurrency group key chain resolves a stable per-PR identifier for pull_request, pull_request_review, check_suite (with PR), workflow_dispatch (pr_url), and repository_dispatch (client_payload.pr_url), falling back to unique github.run_id so no-PR/batch runs never cancel each other. Minor inconsistency: workflow_dispatch keys on pr_url (URL) while pull_request keys on number, so a manual force-review and an automatic synchronize for the same PR land in different groups and won't cancel each other — this errs toward not-cancelling and is safe.
- INFO: No security-relevant change: no script-injection vector (interpolated event values used only in concurrency.group and job if:, never in run:), pinned reusable-workflow ref (@pr-review/stable), secrets: inherit, permissions, and trigger set are all unchanged.
Reviewed by the PR-review cascade (triage: haiku 4.5 → deep: opus 4.8 + duck: o4-mini → audit: fable 5). Reply if you need a human review.
|
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-20T02:49:58Z. |
donpetry-bot
left a comment
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: MEDIUM
Reviewed commit: f734233040926b131e94d0d7b39816876ccb98a0
Review mode: triage-approved (single reviewer)
Summary
Adds a concurrency group (keyed per-PR with a run_id fallback, cancel-in-progress) and a job-level if-guard that skips check_suite completions with no associated PR, to .github/workflows/pr-review.yml. +22/-0, single file. Directly targets the duplicate/cancelled overlapping runs flagged by Fleet Monitor issue #276.
Linked issue analysis
Linked issue #276 (Fleet Monitor WARNING: 12.5% failure rate, 2 cancelled runs on pr-review.yml). The change addresses the root cause: high-frequency triggers (synchronize + resulting check_suite completions) spawned concurrent duplicate reviews. The concurrency group collapses redundant runs per PR, and the if-guard avoids pure-waste runs for check_suite events with no PR. Substantively addressed.
Findings
- No security concerns. Expressions (pull_request.number, check_suite.pull_requests[0].number, inputs.pr_url, client_payload.pr_url, run_id) are interpolated only into a concurrency group name, never into a run: shell context — no injection surface.
- permissions block unchanged (pull-requests: write, checks: read); no new secrets, no trigger changes, no change to the pinned reusable-workflow ref (@pr-review/stable).
- Sound design: run_id fallback keeps batch/dispatch/no-PR runs from cancelling each other.
- Minor note (non-blocking): cancel-in-progress will itself produce intentional 'cancelled' supersede events; net effect is fewer total concurrent runs, the intended tradeoff.
- MCP secret scan not run (repo lacks GitHub Advanced Security); gitleaks CI check passed and the diff contains no secret-like content.
CI status
Latest run of each check is green or N/A: CodeQL SUCCESS, gitleaks SUCCESS, agent-shield/AgentShield SUCCESS, SonarCloud SUCCESS, CodeRabbit SUCCESS, dependency-audit SUCCESS, Backend/Frontend CI SKIPPED (not applicable to a workflow-only change). The CANCELLED entries (ci-relay, dispatch, review) are superseded duplicate runs, each with a corresponding SUCCESS — consistent with the concurrency behavior this PR introduces. reviewDecision: APPROVED. No unresolved review threads or unanswered human questions.
Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.



Closes #276
Implemented by dev-lead agent. Please review.