CI: cancel a run that a newer push has superseded - #236
Merged
Conversation
main.yml runs on push and on pull_request with no concurrency block, so a second push to a branch leaves the first run going to answer a question about a tree nobody is waiting on. Over the last 90 days 49 of libs-back 357 runs were superseded while still running, 229 of 1736 wall-clock minutes. The group is the workflow and the ref, so runs on different branches and on master are unaffected by one another. libs-base carries the same block.
fredkiefer
approved these changes
Aug 11, 2026
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.
main.yml runs on push and on pull_request and has no concurrency block, so a second push to a branch leaves the first run going. It answers a question about a tree nobody is waiting on, and nothing cancels it.
Over the last 90 days 49 of libs-back's 357 workflow runs were superseded while still running, 229 of 1736 wall-clock minutes. Taken from the Actions API over that window, counting a run as superseded when a later run for the same workflow and ref started before it finished.
The group is the workflow and the ref, so a run on one branch never cancels a run on another, and a push to master never cancels a pull request. A superseded run reports as cancelled rather than as a failure.
libs-base carries the same block, added in gnustep/libs-base#746.