You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(e2e): flaky Playwright tests — Vite cold start race on ARC runners #3917
E2E tests intermittently fail with ERR_CONNECTION_REFUSED on localhost:8080 when running on ARC self-hosted K8s runners. The Playwright webServer config waits for the port to be available (30s timeout), but on CPU-constrained runners Vite sometimes takes longer to be fully ready.
Symptoms
auth.signup.e2e.tests.js — ERR_CONNECTION_REFUSED on page.goto('/signup')
billing.e2e.tests.js — ERR_CONNECTION_REFUSED or timeout waiting for heading
Always passes on rerun (second attempt has warm Vite cache)
Only happens on ARC K8s runners, never locally
Current config
// playwright.config.js
webServer: {command: `npx vite --port ${port}`,
port,timeout: 30000,// 30s — may be too short on slow runners}
Possible fixes
Increase webServer.timeout to 60s or 90s
Add retries: 1 to Playwright config for CI (env-conditional)
Pre-build before E2E: run npx vite build or npx vite optimize before tests so deps are pre-bundled
Use stdout: 'pipe' + reuseExistingServer with a readiness check on actual HTTP response (not just port binding)
Impact
Non-blocking (rerun always passes), but wastes CI time and creates noise.
Activity
fix(e2e): eliminate flaky Vite cold-start race on ARC runners
fix(e2e): eliminate flaky Vite cold-start race on ARC runners (#3918)
chore(release): 2.0.0