Skip to content

ci: cancel superseded PR runs - #186

Merged
2000game merged 2 commits into
mainfrom
ci/reduce-hosted-minutes
Sep 26, 2026
Merged

2000game merged 2 commits into
mainfrom
ci/reduce-hosted-minutes

Conversation

@2000game

Copy link
Copy Markdown
Member

Changes

  • CI and Docs: add concurrency so a newer push to a PR cancels that PR's run still in progress. Pushes to main are never cancelled. Release is untouched (it publishes, so it must not be cancelled).

Considered and left alone

  • macOS jobs (smoke-darwin-*) already run only in Release on push to main, 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-ignore on CI: not safe. format:check runs prettier --check ., which covers Markdown, so a docs-only change can still fail CI.
  • Docs build on src-only changes: the workflow is already path-filtered, and staleness has to run on src/**. Splitting build off would save about 1 free minute per run and add another workflow.
  • Merging jobs: nothing to merge. build and staleness use different toolchains, and minute rounding costs nothing here.

Required checks

main has 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:

  • Org-wide September gross: 2,916 Linux min ($17.50) + 12 macOS min ($0.74) = $18.24. That's more than the $18.00 the 3,000 included Linux minutes are worth, yet netAmount is still 0. Something other than the included quota absorbed the difference, and that is the public-repo discount.
  • Public-repo share: ct-cli 128 min (116 Linux + 12 macOS) and terraform-provider-churchtools 175 Linux min. Without them, the private repos used about 2,625 Linux-equivalent minutes (~87% of 3,000).
  • Both repos were public for all of September: ct-cli since 2026-08-27 (PublicEvent), and terraform-provider-churchtools was created public on 2026-09-16.

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.

2000game and others added 2 commits September 26, 2026 08:42
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.
@2000game
2000game merged commit abbdefd into main Sep 26, 2026
3 checks passed
@2000game
2000game deleted the ci/reduce-hosted-minutes branch September 26, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant