ci: serialize bot-push workflows via concurrency group#95
Merged
Conversation
Three workflows (build-pages, rebuild-chunks, audit-summaries) push bot commits to main. When two fire on the same merge commit, the second loses the push race and the workflow reports failure — which looked scary via email but caused zero user-visible impact because the lost commit was always redundant with what already merged. Adding a shared `concurrency.group: main-bot-push` key serializes them: second workflow queues until first finishes, then runs with up-to-date main. cancel-in-progress is false so both still execute in sequence (we want both, just not simultaneously). Fixes the repeating "All jobs have failed" emails observed on merges of PRs #89, #92, and #94. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three workflows push bot commits to
main:build-pages,rebuild-chunks,audit-summaries. When two fire on the same merge commit (common when a PR touches bothdata/repos.jsonANDresearch/), they race — whichever pushes second gets rejected with! [rejected] main -> main (fetch first)and the workflow reports failure.The "failure" has zero user impact (the lost commit is always redundant with what already merged), but it generates noisy emails like the "All jobs have failed" notification received after PR #94 merged.
Fix
Add a shared concurrency group to all three workflows:
group: main-bot-push— all three workflows share the same group, so GitHub Actions serializes them.cancel-in-progress: false— we want both to run, just not simultaneously. Second queues until first finishes.Evidence of the problem
Race observed on last 3 PR merges:
e5b852a(PR seo: homepage title/meta rework + WebSite & Breadcrumb schema + restore lost repo #94): chunks succeeded, pages failede36aaff(PR Add keepnotes-ai/keep (31 stars) to Memory & Context #89): chunks succeeded, pages failed8283fde(PR New release: Hermes Agent v2026.4.23 #92): pages succeeded, chunks failedTest plan
data/repos.jsonandresearch/will trigger both workflows; second should now queue cleanly instead of failing to push. Expected next trigger: next bot-merged repo-suggestion PR (e.g., if we resolve PR Add mem0ai/mem0 to Memory & Context #79 conflicts).🤖 Generated with Claude Code