ci: add timeout-minutes to workflow jobs - #62102
Open
mr-raj12 wants to merge 1 commit into
Open
Conversation
Contributor
|
Thanks for the focused CI hardening change. Current main still has the reported uncapped jobs, including Automated hermes-sweeper review. |
Jobs without a timeout-minutes value inherit GitHub Actions' 6-hour default, so a hung step can burn runner minutes for hours before it fails. Set a per-job cap sized to each job's runtime across the workflows that were missing one. typecheck.yml is left alone so this does not clash with the in-flight permissions change in NousResearch#45731.
mr-raj12
force-pushed
the
ci/workflow-timeout-minutes
branch
from
July 12, 2026 08:19
1dbc67b to
a8dd099
Compare
Author
|
Thanks a lot boss for the review! Rebased onto latest main and re-verified — only typecheck.yml jobs are left uncapped as intended (tracked separately), rest all sorted. |
This was referenced Aug 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #62103
Problem
Most jobs across the repo's GitHub Actions workflows have no
timeout-minutesset. A job without one inherits the platform default of 6 hours, so a step that hangs (a stuck network call, a deadlocked test, a wedged subprocess) keeps a runner busy for hours before the run is cancelled. Some workflows already set it (lint.yml,docker.yml,docker-lint.yml, thetest/e2ejobs intests.yml,uv-lockfile-check.yml), so the gap was inconsistent coverage rather than a deliberate policy.Solution
Add a
timeout-minutescap to every job that was missing one, sized to the work each job does:ci.ymldetect,all-checks-passci.ymlci-timingscontributor-check.ymlcheck-attributiondocs-site-checks.ymldocs-site-checkshistory-check.ymlcheck-common-ancestorskills-index-freshness.ymlcheck-freshnessdeploy-site.ymldeploy-vercel,deploy-docsskills-index.ymlbuild-index,trigger-deploysupply-chain-audit.ymlscan,dep-bounds,mcp-catalog-reviewtests.ymlgenerate,save-durationsupload_to_pypi.ymlbuild,publish,signtypecheck.ymlis intentionally left out. Its read-onlypermissionschange is already in flight in #45731, and the remainingconcurrencyplustimeout-minuteswork for that file is tracked on its own, so editing it here would only create a conflict.Testing
.github/workflows/*.ymlwithyaml.safe_loadbefore and after the change. All files parse, and the only job still without atimeout-minutesis intypecheck.yml, which is the intended exclusion.