Repository navigation
fix(ci): a CI run GitHub never started does not hold a merge - #135
Merged
Merged
Conversation
On a repository whose Actions are blocked, GitHub fails the claim and the secret scan without starting them, and skips the checking job for want of its needs. pr-merge dropped the never-started jobs but then missed the Local verification gate and reported it as still running (sparkrack #17), so local-ci alone could never merge. A run with any never-started job now counts as not run as a whole. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
|
Authorized by JJ ("please also merge the PRs on my template"), merged by Captain with --admin after |
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.
Problem
On a repository whose Actions are blocked by billing, GitHub creates each CI run but fails
Secret scanandLocal verification claimwithout starting them, and skips the checking job for want of itsneeds.make pr-mergedropped the never-started jobs, then missed theLocal verificationgate and reportedskip - has checks still running: Local verification. Solocal-cialone could never merge there (seen on jayleaton/sparkrack#17).Fix
verify.ClassifyChecks: a CI run with any job GitHub never started counts as not run as a whole, so its skipped checking job no longer holds the merge. A newer run that did run still counts. Two test cases cover it: sparkrack #17's exact rollup, and a newer failed run after a blocked one.This came after #134 merged at 34e7ffe; it was a619b40 on that branch.
Evidence
git rev-parse <commit>^{tree}), in a Davit box with stale image files pruned:go test -count=1 -cover ./scripts/cilocal/verify: 100.0%.go vet ./scripts/cilocal/...andmake lint LINT_DIRS=./scripts/cilocal/...: 0 issues.skip - has checks still running: Local verification. After the same fix on sparkrack's branch: see fix(auth): cheap argon2 in test binaries so -race suites stay small #17.Merge Danger
Door: two-way.
Blast Radius:
make pr-mergeonly. It now merges onlocal-cialone where a whole CI run was blocked by billing;--require-actionsstill refuses.🤖 Generated with Claude Code
Local verification
Head
42b7c496d37775d66a7cc114e3fc0f3297b922bd· tree67581baf15ae· passedAttested by
JJ EatononMacBook-Pro-3.localRan: This tree (identical to a619b40's), in a Davit box with stale image files pruned: go test -count=1 -cover ./scripts/cilocal/verify (100.0%), go vet ./scripts/cilocal/..., make lint LINT_DIRS=./scripts/cilocal/... (0 issues). The rest of the tree is main ad7b6b1 (#134 at 34e7ffe, attested after make ci)