feat(concurrency): add per-repo serialized concurrency to dev-lead stubs - #322
Conversation
Add a concurrency block to both the live dev-lead.yml and the standards/workflows/dev-lead.yml template so that at most one dev-lead dispatch run executes per repo at a time (ci-relay retains its ephemeral per-SHA slot). Matches the policy landed in .github-private. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ 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 |
|
There was a problem hiding this comment.
Code Review
This pull request introduces a concurrency configuration to the dev-lead.yml workflow to manage active runs. It defines a dynamic concurrency group that provides a per-SHA slot for check_run events while defaulting to a single 'dev-lead' group for other event types, with cancel-in-progress set to false. I have no feedback to provide as there were no review comments.
There was a problem hiding this comment.
Pull request overview
Adds workflow-level concurrency to the Dev-Lead caller stubs so most Dev-Lead events are serialized per repository while check_run CI-relay events use a SHA-specific group.
Changes:
- Adds a top-level
concurrencyblock to the live.github/workflows/dev-lead.yml. - Mirrors the same concurrency policy in the standards template copy.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/dev-lead.yml |
Adds the live Dev-Lead workflow concurrency group selection. |
standards/workflows/dev-lead.yml |
Adds the same concurrency policy to the copy-verbatim standards template. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # One active run per repo; ci-relay (check_run) keeps an ephemeral per-SHA slot | ||
| # so it can fire immediately without blocking or being blocked by the dispatch queue. | ||
| group: >- | ||
| ${{ | ||
| github.event_name == 'check_run' && format('dev-lead-ci-relay-{0}', github.event.check_run.head_sha) || | ||
| 'dev-lead' |
| # One active run per repo; ci-relay (check_run) keeps an ephemeral per-SHA slot | ||
| # so it can fire immediately without blocking or being blocked by the dispatch queue. | ||
| group: >- | ||
| ${{ | ||
| github.event_name == 'check_run' && format('dev-lead-ci-relay-{0}', github.event.check_run.head_sha) || | ||
| 'dev-lead' |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7d57c04c07
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| github.event_name == 'check_run' && format('dev-lead-ci-relay-{0}', github.event.check_run.head_sha) || | ||
| 'dev-lead' | ||
| }} | ||
| cancel-in-progress: false |
There was a problem hiding this comment.
Add queue:max to preserve serialized dev-lead events
With this repository-wide dev-lead concurrency group, bursts of non-check_run events are not fully serialized: GitHub Actions defaults to only one pending run per concurrency group, so a third PR comment/review/label or repository_dispatch while one run is active cancels and replaces the earlier pending dev-lead run rather than executing it later (GitHub docs). That means some requested dev-lead work can be silently dropped under load; add queue: max with cancel-in-progress: false if the intent is to run every event one at a time.
Useful? React with 👍 / 👎.
…ubs (#322) Add a concurrency block to both the live dev-lead.yml and the standards/workflows/dev-lead.yml template so that at most one dev-lead dispatch run executes per repo at a time (ci-relay retains its ephemeral per-SHA slot). Matches the policy landed in .github-private. Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…ubs (#322) Add a concurrency block to both the live dev-lead.yml and the standards/workflows/dev-lead.yml template so that at most one dev-lead dispatch run executes per repo at a time (ci-relay retains its ephemeral per-SHA slot). Matches the policy landed in .github-private. Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…ubs (#322) Add a concurrency block to both the live dev-lead.yml and the standards/workflows/dev-lead.yml template so that at most one dev-lead dispatch run executes per repo at a time (ci-relay retains its ephemeral per-SHA slot). Matches the policy landed in .github-private. Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…ubs (#322) Add a concurrency block to both the live dev-lead.yml and the standards/workflows/dev-lead.yml template so that at most one dev-lead dispatch run executes per repo at a time (ci-relay retains its ephemeral per-SHA slot). Matches the policy landed in .github-private. Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…ubs (#322) Add a concurrency block to both the live dev-lead.yml and the standards/workflows/dev-lead.yml template so that at most one dev-lead dispatch run executes per repo at a time (ci-relay retains its ephemeral per-SHA slot). Matches the policy landed in .github-private. Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>



Summary
concurrency:block to.github/workflows/dev-lead.yml(the live org-level caller) andstandards/workflows/dev-lead.yml(the copy-verbatim template) so at most one dev-lead dispatch run executes in a repo at a timeci-relay(check_run) path keeps its ephemeral per-SHA slotWhy
Without
concurrency:in the caller stub, multiple dev-lead runs could execute simultaneously in the same repo (one per PR event). The new per-repo group serializes them while keeping the lightweight ci-relay path unblocked.Test plan
.githubrepo after merge🤖 Generated with Claude Code