Skip to content

Cap CI job run time with timeout-minutes - #2606

Merged
spaceninja merged 1 commit into
mainfrom
ci/job-timeouts
Oct 26, 2026
Merged

spaceninja merged 1 commit into
mainfrom
ci/job-timeouts

Conversation

@spaceninja

Copy link
Copy Markdown
Member

Overview

The test job usually takes about a minute, but roughly 1 run in 15 takes 6–11 minutes. In each case the time goes to playwright install --with-deps, which installs system packages (mostly fonts) from Ubuntu's package mirror, and that mirror sometimes slows to 40–60 kB/s. In one run (39815517821) the download stalled completely, and because no job set a timeout, the job sat there until GitHub cancelled it at the six-hour default.

This PR adds timeout-minutes to every CI job. Since this repo is public, these runs don't use up the org's Actions minutes, but a hung job still holds one of the org's shared concurrent-job slots and delays PR feedback. The test job gets 15 minutes instead of 10 so a slow mirror that is still downloading can finish rather than fail. A follow-up PR will try dropping --with-deps to avoid the apt step entirely.

Screenshots

Testing

  • Open the Checks tab on this PR and click into the CI run
  • Each of the four jobs (build, lint, build-storybook, test) should pass in a couple of minutes, well under its new limit

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.
@changeset-bot

changeset-bot Bot commented Oct 26, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4292792

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@netlify

netlify Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for cloudfour-patterns ready!

Name Link
🔨 Latest commit 4292792
🔍 Latest deploy log https://app.netlify.com/projects/cloudfour-patterns/deploys/6adf9bd7970c5a6a04ff1a32
😎 Deploy Preview https://deploy-preview-2606--cloudfour-patterns.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@spaceninja
spaceninja merged commit 34f1ace into main Oct 26, 2026
8 checks passed
@spaceninja
spaceninja deleted the ci/job-timeouts branch October 26, 2026 18:34
spaceninja added a commit that referenced this pull request Oct 26, 2026
…th-deps

* origin/main:
  Cap CI job run time with timeout-minutes (#2606)
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