ci: cancel superseded PR runs - #186
Merged
Merged
Conversation
Co-Authored-By: Claude <noreply@anthropic.com>
A shared group keeps only one pending run and cancels the older pending one when a third push arrives, even with cancel-in-progress off, so a burst of merges to main could leave a commit without a CI/Docs result. Verified with a probe workflow: A success, B cancelled, C success; with the per-SHA key all three ran.
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.
Changes
CIandDocs: addconcurrencyso a newer push to a PR cancels that PR's run still in progress. Pushes tomainare never cancelled.Releaseis untouched (it publishes, so it must not be cancelled).Considered and left alone
smoke-darwin-*) already run only inReleaseon push tomain, never on PRs. They are the only native check on the compiled binaries before semantic-release publishes, so running them less often would ship unverified binaries.paths-ignoreon CI: not safe.format:checkrunsprettier --check ., which covers Markdown, so a docs-only change can still fail CI.buildon src-only changes: the workflow is already path-filtered, andstalenesshas to run onsrc/**. Splittingbuildoff would save about 1 free minute per run and add another workflow.buildandstalenessuse different toolchains, and minute rounding costs nothing here.Required checks
mainhas no branch protection and no rulesets, so no check names change or matter.Billing context: these minutes don't count against the org quota
This repo is public, and GitHub-hosted standard runners are free for public repos. The September usage report does list them (every line shows
grossAmount == discountAmount,netAmount: 0), but that is a 100% public-repo discount. It is not drawn from the Team plan's 3,000 included minutes. The org totals show this:netAmountis still 0. Something other than the included quota absorbed the difference, and that is the public-repo discount.So the quota pressure comes from the private repos (eqrm-infra 906, ct-structure 727, church-network-management 715, …). This PR is hygiene only and saves no billed minutes. It still helps a little: hosted jobs from public repos take up the org's concurrent-job slots alongside private CI, and superseded PR runs just waste them.