chore(ci): add concurrency groups and job timeouts to CI workflows #452

Closed
freemo wants to merge 1 commits from chore/ci-concurrency-timeouts into master

1 Commits

Author SHA1 Message Date
freemo 3be1a129aa chore(ci): add concurrency groups and job timeouts to CI workflows
CI / lint (pull_request) Successful in 22s
CI / typecheck (pull_request) Successful in 59s
CI / quality (pull_request) Successful in 30s
CI / security (pull_request) Successful in 48s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 23s
CI / integration_tests (pull_request) Successful in 5m7s
CI / unit_tests (pull_request) Failing after 20m0s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Failing after 30m0s
CI / benchmark-regression (pull_request) Successful in 23m49s
Added workflow-level concurrency groups with cancel-in-progress to both
ci.yml and nightly-quality.yml so that superseded CI runs are automatically
cancelled when a new commit is pushed to the same branch. Added per-job
timeout-minutes to all 11 CI jobs and the nightly quality job to prevent
hung jobs from occupying runner slots indefinitely:

  - 10 min: lint, typecheck, security, quality, build
  - 20 min: unit_tests, integration_tests
  - 30 min: coverage, benchmark-regression, benchmark-publish, docker
  - 45 min: nightly full-quality-suite

These changes reduce runner contention across concurrent PR builds and
provide a hard upper bound on job execution time.

ISSUES CLOSED: #451
2026-02-26 03:48:24 +00:00