Repository navigation
Run one sync at a time - #23
Merged
Merged
Conversation
certpilot#118 and certpilot-agent#6 merged three seconds apart on 2026-09-27. Each dispatched a sync, and both runs checked out the same main. The first pushed. The second was rejected as not a fast-forward and failed. Nothing was lost that time: both runs would have published the same two pages. A rerun could not recover it anyway, because a rerun checks out the original commit again and is rejected the same way. The failure reads as a broken pipeline all the same, and it recurs on any burst of merges, such as the five phase-2 pull requests queued on certpilot. A workflow-level concurrency group queues runs rather than cancelling them, because a run in progress may be halfway through publishing. GitHub keeps one pending run per group, so a burst ends with a run for the newest dispatch, which reads what the earlier ones would have. Co-Authored-By: Claude Opus 5.5 <[email protected]>
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: two dispatches that arrive close together race to push to
main.On 2026-09-27, certpilot#118 and certpilot-agent#6 merged 3 seconds apart. Both syncs checked out the same
main, and the second push was rejected as not a fast-forward (run 36320902564). Rerunning doesn't help, because a rerun checks out the original commit and is rejected again.Nothing was lost this time: both runs would have published the same two pages. It will recur on any burst of merges, including the five phase-2 PRs queued on certpilot (#119–#123).
Fix: a workflow-level
concurrency: {group: sync, cancel-in-progress: false}.How it was verified
! [remote rejected] main -> main (cannot lock ref …)) and from the rerun's (! [rejected] main -> main (fetch first)).🤖 Generated with Claude Code