From 4292792a4860d814132ef1cab401da790c4122e3 Mon Sep 17 00:00:00 2001 From: Scott Vandehey Date: Mon, 26 Oct 2026 11:28:20 -0700 Subject: [PATCH] Cap CI job run time with timeout-minutes None of the CI jobs set a timeout, so a hung job ran until GitHub's six-hour default. That happened in run 39815517821 when the Ubuntu package mirror used by `playwright install --with-deps` stalled. The test job gets 15 minutes rather than 10 because a slow mirror that is still working has taken up to about 11 minutes, and that should pass. --- .github/workflows/ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8dcdb1ea4..45067daac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,6 +13,7 @@ concurrency: jobs: build: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v7.0.1 - name: Use Node.js @@ -27,6 +28,7 @@ jobs: lint: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v7.0.1 - name: Use Node.js @@ -45,6 +47,7 @@ jobs: build-storybook: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - uses: actions/checkout@v7.0.1 - name: Use Node.js @@ -59,6 +62,13 @@ jobs: test: runs-on: ubuntu-latest + # Every job normally finishes in under two minutes. The caps stop a hung job + # from running until GitHub's six-hour default timeout, which has happened + # here when the Ubuntu package mirror that `playwright install --with-deps` + # downloads from stalled. This job's cap is higher than the others because + # a slow-but-working mirror can take around 10 minutes, and that should + # still pass rather than fail. + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@v7.0.1