Repository navigation
fix(install): allow PowerShell cold start in Windows archive extraction - #90
Merged
Merged
Conversation
…xtraction PowerShell loads user profiles by default. On Windows CI runners this adds several seconds to each spawn. The Expand-Archive test spawns PowerShell twice (Compress-Archive for setup, Expand-Archive in extractZip), so it exceeded the 5000 ms default timeout. - extract.ts: add -NoProfile -NonInteractive to the Expand-Archive call. This also speeds up installs for users. - binary-installation spec: same flags on the setup Compress-Archive call, and an explicit 30000 ms timeout on that single test. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
should extract .zip archives using PowerShell Expand-Archive on Windowstest fails onwindows-latestwithTest timed out in 5000ms. It failed on #88 and twice on #89. Because thetestjob is red, thepublishjob cannot run, so 0.8.5 cannot ship.Root cause
Windows PowerShell loads user profiles by default. Each cold start on CI runners takes several seconds. The test spawns PowerShell twice:
Compress-Archiveto build the fixture zip, thenExpand-ArchiveinsideextractZip. Neither call passed-NoProfile -NonInteractive. Together they exceed the 5000 ms default.Change
src/lib/install-daemon/extract.ts: the productionExpand-Archivecall now uses-NoProfile -NonInteractive. This also speeds up real installs on Windows.src/lib/install-daemon/binary-installation.integration.spec.ts: the fixtureCompress-Archivecall uses the same flags. The single test that spawns PowerShell gets an explicit 30000 ms timeout, with a one-line comment. The global timeout is unchanged. The test is not skipped or retried.Verification
lint,format:check,spell,knip, andtest:coverage --runpass. 229 test files pass. The Windows case is skipped locally, so CI onwindows-latestis the real proof.🤖 Generated with Claude Code