Problem / motivation
GitHub Actions jobs in this repo currently rely on the platform default of 6 hours per job. When a step wedges (e.g., the recent Playwright Chromium install hang seen on PR #99, where two attempts ran 12 min and 2h50m before being manually canceled), the job consumes runner minutes and blocks the PR check until someone notices.
Proposed solution
Add timeout-minutes: 10 to every job in .github/workflows/:
ci.yaml (ci job)
codeql.yaml
dependabot-auto-merge.yaml
dependency-review.yaml
pr-title.yaml
release.yaml
10 minutes comfortably covers the current happy-path runtimes (CI completes in ~3 minutes on main) while bounding worst-case to a tight loop the user can act on. Per-step timeouts can be added later for finer granularity if any single step legitimately runs longer than expected.
Alternatives considered
- Per-step
timeout-minutes: more precise but higher maintenance cost; a single job-level cap is the right starting point.
- Job-level cap higher than 10 min (e.g., 20): acceptable, but 10 is enough headroom for current workflows and surfaces regressions sooner.
- Status quo (6-hour default): rejected — the recent stalls demonstrate the cost.
Affected area
tooling / CI
Additional context
Problem / motivation
GitHub Actions jobs in this repo currently rely on the platform default of 6 hours per job. When a step wedges (e.g., the recent Playwright Chromium install hang seen on PR #99, where two attempts ran 12 min and 2h50m before being manually canceled), the job consumes runner minutes and blocks the PR check until someone notices.
Proposed solution
Add
timeout-minutes: 10to every job in.github/workflows/:ci.yaml(cijob)codeql.yamldependabot-auto-merge.yamldependency-review.yamlpr-title.yamlrelease.yaml10 minutes comfortably covers the current happy-path runtimes (CI completes in ~3 minutes on
main) while bounding worst-case to a tight loop the user can act on. Per-step timeouts can be added later for finer granularity if any single step legitimately runs longer than expected.Alternatives considered
timeout-minutes: more precise but higher maintenance cost; a single job-level cap is the right starting point.Affected area
tooling / CI
Additional context