You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(ci): change concurrency group to per-SHA to prevent HEAD commits from missing CI runs #246
When the Claude Code agent (or any automation) pushes multiple commits to a branch in rapid succession, required CI checks frequently never run on the HEAD commit. The PR shows "Pending Checks" indefinitely and becomes unmergeable without manual intervention (close/reopen).
Root Cause
Two factors combine:
cancel-in-progress: true on a per-ref concurrency group — Each new push cancels the in-flight CI run for the previous commit. If the final commit is pushed while an earlier run is mid-cancellation, GitHub may not fire a new pull_request: synchronize event (or the event is dropped), leaving the HEAD commit with no CI run.
GitHub does not retroactively run required checks — Once a commit becomes the PR HEAD with no CI results attached, the checks show as "pending" forever. There is no automatic retry.
This has been observed across all 8 repos in the petry-projects org — 146+ PRs were blocked simultaneously requiring manual close/reopen to re-trigger CI.
The pattern that triggers the issue (currently in every CI workflow in the org):
Concurrent runs on the same branch are still bounded (one run per commit, not unbounded)
cancel-in-progress: true becomes a no-op in practice (no two pushes share the same SHA), which is the desired behavior
Scope
Apply to all CI workflow files across the org that use the ci-${{ github.ref }} concurrency pattern. The claude-code-reusable.yml concurrency groups (claude-review-comments-*, claude-ci-fix-*, claude-issue-*) are intentional per-PR/per-SHA groupings and should not be changed.
Activity
don-petry commentedon May 12, 2026
Claude finished @don-petry's task in 4m 5s —— View job •
claude/issue-246-20260512-0059• [Create PR ➔](https://github.com/petry-projects/.github/compare/main...claude/issue-246-20260512-0059?quick_pull=1&title=Issue%20%23246%3A%20Changes%20from%20Claude&body=This%20PR%20addresses%20issue%20%23246%0A%0AGenerated%20with%20%5BClaude%20Code%5D(https%3A%2F%2Fclaude.ai%2Fcode)Fixing CI Concurrency Group Pattern
.github/workflows/ci.yml—ci-${{ github.ref }}→ fixed.github/workflows/feature-ideation-tests.yml—feature-ideation-tests-${{ github.ref }}→ fixedstandards/ci-standards.md— documents the old pattern → updatedauto-rebase,dependabot-update-and-merge,feature-ideation,claude-*,compliance-audit) are intentional and unchangedci.ymlfeature-ideation-tests.ymlstandards/ci-standards.mdclaude-code-reusable.ymland all single-instance groups correctly excludedCI Status (PR #247) — mostly green ✓
No CODEOWNERS file found — @don-petry please review and merge PR #247 once CodeQL completes.
| View PR #247
don-petry commentedon May 12, 2026
Ensure this is defined and compliance enforced as a standard in .github
fix(ci): change concurrency group to per-SHA to prevent HEAD commits …
fix(ci): change concurrency group to per-SHA to prevent HEAD commits …
fix(ci): change concurrency group to per-SHA to prevent HEAD commits …
fix(ci): change concurrency group to per-SHA to prevent HEAD commits …
fix(ci): change concurrency group to per-SHA to prevent HEAD commits …
fix(ci): change concurrency group to per-SHA to prevent HEAD commits …
fix(ci): change concurrency group to per-SHA to prevent HEAD commits …