ci: add timeout-minutes to workflow jobs (sized from CI history) - #76
Merged
Conversation
Sized from Datadog CI Visibility: max of the last 100 successful runs plus 20 minutes headroom, rounded up to the nearest multiple of 5. Jobs with an existing timeout-minutes or no recent CI data are untouched. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
shpendnilafresha
approved these changes
Aug 17, 2026
shpendnilafresha
left a comment
Contributor
There was a problem hiding this comment.
Approved.
Verified before approving: the diff is confined to .github/workflows/*.y*ml, adds exactly one job-level timeout-minutes line per job with no other edits, and the workflow files at head parse cleanly with no duplicate keys.
🤖 Generated with Claude Code
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.
Sets
timeout-minuteson GitHub Actions jobs that had none, so a hung jobcan't hold a runner for GitHub's 6-hour default.
How the values were computed — for each job, the last 100 successful
runs (90-day lookback) were pulled from Datadog CI Visibility; the timeout is
ceil(max_duration) + 20minutes of headroom, rounded up to the nearestmultiple of 5. Jobs that already declare a
timeout-minuteswere left untouched, and jobs with no recent CI data wereskipped rather than given a guessed value.
Notes for review:
.github/workflows/*.y*mlfiles are touched; one inserted line per job.uses:) are unchanged — GitHub doesn'tallow
timeout-minutesthere; the limit lives on the called workflow's jobs.(e.g. rare full rebuilds), bump the value in this PR rather than dropping it.
Part of the platform CI-hardening effort (freshaengineering/team-devex#483).
🤖 Generated with Claude Code