Resolve E2E test timeout - #43
Merged
Merged
Conversation
- Add serve as an explicit devDependency to avoid dynamic npx downloads during test runs - Explicitly bind and connect to 127.0.0.1:3000 to prevent IPv6 localhost resolution timeouts - Pipe stdout and stderr from webServer for test observability - Add explicit dependency installation step in CI check workflow
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
Description
Fixes the Playwright E2E test timeout failure (
Error: Timed out waiting 60000ms from config.webServer) that occurred in CI after merging PR #42 intomain.Root Causes & Changes
servedownload in test run: Playwright executednpx serve@latest out -p 3000, causing npm to query the registry and downloadserve@14.2.6dynamically during the test step, which was prone to registry network latency or timeouts in CI. Addedserveas an explicit devDependency inpackage.jsonand updated the start script and webServer command to use the localservebinary.localhostIPv6 resolution timeout:servelistens on IPv4 by default (0.0.0.0), whereas Node 18+ resolveslocalhostto IPv6::1first on modern Linux environments, leading to connection retries and timeouts when pollinghttp://localhost:3000. Updated Playwright'sbaseURL, webServercommand(-l tcp://127.0.0.1:3000), andurlto usehttp://127.0.0.1:3000.stdout: "pipe"andstderr: "pipe"towebServerinplaywright.config.tsso server logs are piped into test output.mise run installstep in.github/workflows/check.ymlprior to the verification checks.Change Type
Testing Steps
mise run typecheckpassesmise run lintpassesmise run test:coveragepasses (8 tests passing, coverage >= 88%)mise run buildsucceedsmise run test:e2ecompletes in ~2.5s with clean webServer startup logsChecklist
pnpm typecheckpassespnpm lintpassespnpm test(Vitest) passespnpm test:e2e(Playwright) passesanytypes introduced