ci: bound every self-contained job at 120 minutes - #6006
Conversation
Companion to the GH-Actions change that bounds the reusable ci-*.yml jobs. This covers the workflows that define their jobs directly on v3.0 -- the package matrix, the macOS builds, CI-cluster-simulator, CI-lint-groups-json, CI-push-ci-base-image -- which the callee-side change cannot reach. No job had a timeout, so a hang ran to GitHub's 6-hour ceiling. GitHub marks such a run 'cancelled' rather than 'failure', which also skips every archive step guarded by `failure() && !cancelled()`, so the run that most needs its logs uploads none. 358 jobs across 181 files. Files that already set timeout-minutes are left alone, as are pure caller workflows: `timeout-minutes` is not a valid key on a job that only has `uses:`. All 181 files re-parse as valid YAML.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📜 Recent review details🔇 Additional comments (1)
📝 WalkthroughWalkthroughThe pull request adds timeout settings to GitHub Actions jobs across macOS, Linux packaging, simulator, lint, container, and Claude workflows. ChangesCI workflow timeout standardization
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Same reasoning as the GH-Actions side. CI-cluster-simulator is the only workflow here that runs TAP groups and has an 'Archive failure logs' step guarded by 'failure() && !cancelled()' (line 127). A job-level timeout alone terminates the job before that step can run, so a hung simulation group would produce no logs -- the exact gap this series is meant to close. Bounding 'Run simulation tests' and 'Build simulation test runtime' at 90 minutes fails just the step, leaving job.status = failure and cancelled() false, so the archive step runs. The 120-minute job budget stays as the outer backstop. The package/macOS workflows keep job-level bounds only: they have no conditional artifact steps to lose, so there is nothing to preserve past a termination.
|



Companion to #6005 (which bounds the reusable
ci-*.ymljobs onGH-Actions). This covers workflows that define their jobs directly onv3.0— the package matrix, macOS builds,CI-cluster-simulator,CI-lint-groups-json,CI-push-ci-base-image— which the callee-side change cannot reach.No job had a timeout, so a hang ran to GitHub's 6-hour ceiling. GitHub marks such a run
cancelledrather thanfailure, which also skips every archive step guarded byfailure() && !cancelled()— so the run that most needs its logs uploads none.358 jobs across 181 files. Files already setting
timeout-minutesare left alone, as are pure caller workflows (timeout-minutesis not a valid key on auses:-only job).All 181 files re-parse as valid YAML.
Summary by CodeRabbit