Skip to content

feat(concurrency): add per-repo serialized concurrency to dev-lead stubs - #322

Merged
don-petry merged 1 commit into
mainfrom
feat/dev-lead-serialize-concurrency
May 18, 2026
Merged

feat(concurrency): add per-repo serialized concurrency to dev-lead stubs#322
don-petry merged 1 commit into
mainfrom
feat/dev-lead-serialize-concurrency

Conversation

@don-petry

Copy link
Copy Markdown
Contributor

Summary

  • Adds a concurrency: block to .github/workflows/dev-lead.yml (the live org-level caller) and standards/workflows/dev-lead.yml (the copy-verbatim template) so at most one dev-lead dispatch run executes in a repo at a time
  • The ci-relay (check_run) path keeps its ephemeral per-SHA slot
  • Mirrors the policy landed in petry-projects/.github-private

Why

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

  • CI passes on this PR
  • Verify no dev-lead runs overlap in the .github repo after merge

🤖 Generated with Claude Code

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>
Copilot AI review requested due to automatic review settings May 18, 2026 16:58
@don-petry
don-petry requested a review from a team as a code owner May 18, 2026 16:58
@coderabbitai

coderabbitai Bot commented May 18, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@don-petry has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 22 minutes and 27 seconds before requesting another review.

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 97cf2040-d47e-43a3-824b-53f29d706baf

📥 Commits

Reviewing files that changed from the base of the PR and between 0765a60 and 7d57c04.

📒 Files selected for processing (2)
  • .github/workflows/dev-lead.yml
  • standards/workflows/dev-lead.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/dev-lead-serialize-concurrency

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 and usage tips.

@sonarqubecloud

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 concurrency block 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.

Comment on lines +41 to +46
# 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'
Comment on lines +41 to +46
# 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'

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@don-petry
don-petry merged commit 6306793 into main May 18, 2026
25 checks passed
@don-petry
don-petry deleted the feat/dev-lead-serialize-concurrency branch May 18, 2026 17:01
don-petry added a commit that referenced this pull request Jun 8, 2026
…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>
don-petry added a commit that referenced this pull request Jun 10, 2026
…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>
don-petry added a commit that referenced this pull request Jun 11, 2026
…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>
don-petry added a commit that referenced this pull request Jun 11, 2026
…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>
don-petry added a commit that referenced this pull request Jun 11, 2026
…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>
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.

2 participants