Skip to content

ci: cap every job with a timeout#323

Merged
miguelgfierro merged 1 commit into
mainfrom
ci/actions-cost-guards
Jul 23, 2026
Merged

ci: cap every job with a timeout#323
miguelgfierro merged 1 commit into
mainfrom
ci/actions-cost-guards

Conversation

@miguelgfierro

Copy link
Copy Markdown
Contributor

Adds the one CI guard this repo was still missing.

What it delivers

timeout-minutes on every job that lacked one, sized off measured runtimes with generous headroom: 15 by default, 20 for in-gate image builds, 30 for multi-arch image publishes. The slowest job measured across recent runs is an 8.6-minute multi-arch build.

Nothing else changes. The PR gate already declares concurrency with cancel-in-progress and enable-cache on its setup-uv steps, and those are left exactly as they are. Release and publish workflows get a timeout only — they are never given cancel-in-progress: true, because a publish must not be cancelled mid-upload.

Benefit

A job with no timeout runs to GitHub's 6-hour default when it hangs, billing 360 Actions minutes from a single stuck step. Every job now has a bounded worst case, so one hung run can no longer drain a month's allowance.

A job with no timeout runs to GitHub's 6-hour default when it hangs, billing
360 Actions minutes from one stuck step. Sized off measured runtimes.
@miguelgfierro
miguelgfierro merged commit 9f37fcc into main Jul 23, 2026
9 checks passed
@miguelgfierro
miguelgfierro deleted the ci/actions-cost-guards branch July 23, 2026 10:14
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