Skip to content

ci: a stalled Node.js download retries after 2 minutes, not 10 - #26343

Merged
t3dotgg merged 1 commit into
mainfrom
t3/1c3aa060
Oct 28, 2026
Merged

t3dotgg merged 1 commit into
mainfrom
t3/1c3aa060

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Oct 28, 2026

Copy link
Copy Markdown
Member

A release run took about 30 minutes. The Linux arm64 build spent 23.5 of them in "Setup Vite+". vp env use 26.12.1 was 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. Setting VP_DOWNLOAD_TIMEOUT=120 on 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 use with 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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Oct 28, 2026
@macroscopeapp

macroscopeapp Bot commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at da88d81

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.

@coderabbitai

coderabbitai Bot commented Oct 28, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 9ebca5f and da88d81.

Files selected for processing: 1
  • .github/actions/setup-ci-deps/action.yml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 2 remain after this review.

Walkthrough

The Setup Vite+ step now sets VP_DOWNLOAD_TIMEOUT to 120. Comments describe the default download-attempt timeout and retry behavior.

Changes: Vite+ download timeout

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: Normal

Estimated code review effort: 1 (Trivial) | ~5 minutes

Change: Bug fix

Possibly related PRs

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: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: reducing the stalled Node.js download timeout from 10 minutes to 2 minutes before retry.
Description check Passed 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 n…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
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.

@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 21.6 KiB 21.6 KiB 0 B (0.0%) 24.4 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.1 KiB 5.1 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.3 KiB 1.3 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.9 KiB 21.9 KiB 0 B (0.0%) 24.4 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 9ebca5f · PR result: da88d81 · Source CI: success

Scenario and decoded snapshot size

10 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.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@t3dotgg
t3dotgg merged commit cfc8be9 into main Oct 28, 2026
43 of 45 checks passed
@t3dotgg
t3dotgg deleted the t3/1c3aa060 branch October 28, 2026 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant