fix(ci): retry platform checkout fetch timeouts#97912
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 29, 2026, 4:10 PM ET / 20:10 UTC. Summary PR surface: Tests +11, Config -77. Total -66 across 2 files. Reproducibility: no. deterministic current-main reproducer was established. The linked GitHub Actions run failed in checks-windows-node-test on attempt 1 and passed on attempt 2, while source inspection shows current main exits after one timeout-style platform fetch failure. Review metrics: 1 noteworthy metric.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the shared retry wrapper after maintainer acceptance of the exact-head CI evidence, or require a focused simulated 124/137 timeout proof if deterministic retry-branch coverage is mandatory. Do we have a high-confidence way to reproduce the issue? No deterministic current-main reproducer was established. The linked GitHub Actions run failed in checks-windows-node-test on attempt 1 and passed on attempt 2, while source inspection shows current main exits after one timeout-style platform fetch failure. Is this the best way to solve the issue? Yes, this is the best scoped fix I found: it preserves the non-GNU manual watchdog needed by platform jobs and mirrors an existing sibling retry pattern. Duplicating four separate checkout scripts or switching platform jobs to GNU timeout would be less maintainable or less portable. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 29f787f10ed4. Label changesLabel justifications:
Evidence reviewedPR surface: Tests +11, Config -77. Total -66 across 2 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
14e6340 to
add5d50
Compare
Related: https://github.com/openclaw/openclaw/actions/runs/28392342787/attempts/1?pr=95920
What Problem This Solves
Resolves a problem where platform CI jobs could fail before tests ran when the manual checkout fetch hung or timed out on a transient Git transport issue. The observed failure was
checks-windows-node-testexiting duringCheckoutwithfatal: fetch-pack: invalid index-pack outputand exit code 124; rerunning the same run and SHA succeeded.Why This Change Was Made
The platform checkout helpers already bound fetch duration without relying on GNU
timeout. This keeps that bounded process-kill behavior and adds the same three-attempt retry shape used by other CI checkout paths for timeout-style fetch failures.User Impact
No product behavior changes. CI operators and contributors should see fewer unrelated Windows/macOS/iOS platform flakes caused by transient checkout fetch timeouts.
Evidence
node scripts/run-vitest.mjs test/scripts/ci-workflow-guards.test.tsactionlint .github/workflows/ci.ymlgit diff --check.agents/skills/autoreview/scripts/autoreview --mode local-> clean, no accepted/actionable findings