From 517df01fa1d4a8569f48004cf0d49794959c91b6 Mon Sep 17 00:00:00 2001 From: AminDhouib Date: Tue, 15 Sep 2026 20:24:47 -0400 Subject: [PATCH] ci: add per-job timeout-minutes to CI and release workflows Both jobs could previously run until the GitHub 6 h ceiling. A hung job therefore held a runner slot for hours. Each job now carries an explicit timeout-minutes. Rule: the budget is 3 x the job's observed p90 duration, rounded up to the nearest 5 minutes. Where 72 h of run history contains no completed sample for a job, the class default for that job's class is used instead. Both jobs below fall in the second case. .github/workflows/ci.yml ci 30 class default (build), unobserved .github/workflows/release.yml publish 30 class default (build), unobserved No concurrency change: ci.yml already declares a workflow-level concurrency group with cancel-in-progress, and release.yml publishes to npm behind a gated environment, so superseded runs there must never be cancelled. Both edited files were checked against the repository's Prettier configuration and are already Prettier-clean. Job names, job count and workflow triggers are unchanged. --- .github/workflows/ci.yml | 1 + .github/workflows/release.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 83b6ba0..2cf6001 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,7 @@ jobs: # the org's Warp runner group is not guaranteed to include this repository, # and an unmatched runner label leaves the job queued indefinitely. runs-on: ubuntu-latest + timeout-minutes: 30 steps: - uses: actions/checkout@v6.0.3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c0ecc90..5b45098 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,6 +18,7 @@ jobs: publish: name: Test, build & publish to npm runs-on: ubuntu-latest + timeout-minutes: 30 environment: release # create this GitHub Environment; optionally gate with reviewers steps: - uses: actions/checkout@v6.0.3