Skip to content

Commit 3c98d33

Browse files
perf(tests): optimize Playwright E2E performance for CI
Reduce Playwright test execution time from ~10m to target ~3-5m: Performance optimizations: - Increase workers from 1 (default 50% of 2 cores) to 4 in CI - Reduce test timeout from 60s to 30s - Reduce retries from 2 to 1 (maxFailures: 5 provides early exit) - Reduce action timeout from 10s to 5s - Reduce navigation timeout from 30s to 15s Expected improvements: - 4 workers = ~4x parallelization vs 1 worker - Fewer retries = less redundant test execution - Tighter timeouts = faster failure detection Local tests unaffected (workers: undefined uses default, retries: 0)
1 parent 6c5cad9 commit 3c98d33

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

app/frontend/playwright.config.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,19 @@ export default defineConfig({
2626
testMatch: '**/*.spec.js',
2727

2828
// Maximum time one test can run for
29-
timeout: 60000,
29+
timeout: 30000,
3030

3131
// Run tests in files in parallel
3232
fullyParallel: true,
3333

34+
// Optimize for CI performance
35+
workers: process.env.CI ? 4 : undefined,
36+
3437
// Fail the build on CI if you accidentally left test.only in the source code
3538
forbidOnly: !!process.env.CI,
3639

37-
// Retry on CI only
38-
retries: process.env.CI ? 2 : 0,
40+
// Reduce retries since we have maxFailures now (1 retry instead of 2)
41+
retries: process.env.CI ? 1 : 0,
3942

4043
// Stop after N test failures (fail-fast for CI)
4144
maxFailures: process.env.CI ? 5 : undefined,
@@ -69,10 +72,10 @@ export default defineConfig({
6972
timezoneId: 'America/Chicago',
7073

7174
// Default timeout for actions (click, fill, etc.)
72-
actionTimeout: 10000,
75+
actionTimeout: 5000,
7376

7477
// Default timeout for navigation
75-
navigationTimeout: 30000,
78+
navigationTimeout: 15000,
7679
},
7780

7881
// Skip @tauri tests by default (they require Tauri runtime, not browser)

0 commit comments

Comments
 (0)