You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Of the 27 CI jobs, only security-scan had an explicit timeout-minutes. The remaining 26 active jobs relied on GitHub's 6-hour default, meaning a hanging test, tool download, or Docker operation could silently consume 6 hours of runner compute before being killed.
This PR adds conservative timeout-minutes to all 26 jobs that lacked them.
Optimization
Add timeout-minutes to 26 CI jobs
Type: Resource Right-Sizing / Safety Impact: Prevents 6-hour compute waste from hanging jobs; faster failure feedback Risk: Low — all timeouts are 2-3× the observed maximum run duration
This was originally intended as a pull request, but the patch modifies protected files: .github/workflows/ci.yml.
The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission. A human must create the pull request manually.
To create a pull request with the changes:
# Download the patch from the workflow run
gh run download 23247175607 -n agent-artifacts -D /tmp/agent-artifacts-23247175607
# Create a new branch
git checkout -b ci-coach/add-job-timeouts-run-113-02f1929e38153919 main
# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-artifacts-23247175607/aw-ci-coach-add-job-timeouts-run-113.patch
# Push the branch and create the pull request
git push origin ci-coach/add-job-timeouts-run-113-02f1929e38153919
gh pr create --title '[ci-coach] ci: add timeout-minutes to all jobs lacking explicit limits' --base main --head ci-coach/add-job-timeouts-run-113-02f1929e38153919 --repo github/gh-aw
CI Optimization — Job Timeout Protection
Summary
Of the 27 CI jobs, only
security-scanhad an explicittimeout-minutes. The remaining 26 active jobs relied on GitHub's 6-hour default, meaning a hanging test, tool download, or Docker operation could silently consume 6 hours of runner compute before being killed.This PR adds conservative
timeout-minutesto all 26 jobs that lacked them.Optimization
Add
timeout-minutesto 26 CI jobsType: Resource Right-Sizing / Safety
Impact: Prevents 6-hour compute waste from hanging jobs; faster failure feedback
Risk: Low — all timeouts are 2-3× the observed maximum run duration
Timeout values assigned:
validate-yaml,js,js-integration-live-api,update,actions-build,lint-js,check-validator-sizes,health-smoke-copilot,mcp-server-compile-test,safe-outputs-conformancetest,build,build-wasm,canary_go,bench,audit,security,integration-unauthenticated-add,integration-add-dispatch-workflowlint-go,fuzz,cross-platform-build,alpine-container-testintegration(matrix — test step has-timeout=10m)integration-add(clones external repo + adds N workflows)Rationale: All values are well above observed run times to avoid false timeouts, while protecting against the 6-hour default.
Analysis Baseline (last 100 CI runs)
View CI Metrics
cancel-in-progress: true)The CI is already well-optimized:
needsdependencies)cache-hit != 'true')Validation Results
python3 -c "import yaml; yaml.safe_load(...)")timeout-minutesadditions only — no logic changesTesting Plan
Proposed by CI Coach workflow run #113
Warning
🛡️ Protected Files — Push Permission Denied
This was originally intended as a pull request, but the patch modifies protected files:
.github/workflows/ci.yml.The push was rejected because GitHub Actions does not have
workflowspermission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission. A human must create the pull request manually.To create a pull request with the changes: