Repository navigation
ci: a stalled Node.js download retries after 2 minutes, not 10 - #26343
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Shortens the Node.js download timeout to two minutes during uncached CI dependency setup. Exposure is limited to CI and release bootstrap timing, with no product-default or diagnostic-suppression changes. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Set the download timeout .github/actions/setup-ci-deps/action.yml |
The Setup Vite+ step sets VP_DOWNLOAD_TIMEOUT to 120. Comments describe the default download-attempt timeout and retry behavior. |
Priority:
Estimated code review effort: 1 (Trivial) | ~5 minutes
Change: Bug fix
Possibly related PRs
- pingdotgg/t3code#26305: This PR changes the same action’s Vite+ installation inputs and cache flow.
Suggested labels: size:S
Suggested reviewers: juliusmarminge
Merge Risk: 
Minimal · up to da88d
-
The timeout change is valid and introduces no identified merge-blocking risk.
Pre-merge checks: 
4
-
Full details: Description check
-
Explanation
The description explains the problem, the configuration change, the expected trade-off, the related cache-miss scope, and focused verification results. It does not use the template headings and does not provide explicit maintainer approval, but it is otherwise complete and directly relevant.
-
Finishing Touches
-
🧪 Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Comment @coderabbitai help to get the list of available commands.
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
A release run took about 30 minutes. The Linux arm64 build spent 23.5 of them in "Setup Vite+".
vp env use 26.12.1was downloading Node.js from nodejs.org, and the download stalled. Windows arm64 waits for that job's Linux CLI archive (for WSL), so it waited 20 minutes too.#26305 now caches
~/.vite-plus(vp, Node, pnpm), so a cache hit skips the download. This PR covers the cache-miss path, which every Node, pnpm, or vp bump hits. vp gives each download attempt 10 minutes by default. It retries 3 times and resumes from the bytes it already has. SettingVP_DOWNLOAD_TIMEOUT=120on the Setup Vite+ step cuts a stalled stream after 2 minutes, not 10. A slow but working download only loses a retry.Proof: I ran vp 1.4.0 (the CI version) against a local Node mirror that stalls the first tarball request at 40%. With the change, vp cut the stream at 120s, resumed from byte 25162997, and installed Node in 128s. Without it, vp was still stuck when the test stopped it at 300s. setup-vp runs
vp env usewith the inherited process env, so the step env reaches vp.Reviewed with sol-loop: 1 round with GPT-6.1 Sol. Sol verdict: approved
Created with Claude Opus 5.5 in Claude Code, running in T3 Code.
🤖 Generated with Claude Code