test(e2e): playwright 1.63 test locks — serialize shared-state specs, unpin CI workers - #232
Conversation
… unpin CI workers (card 98fb84ec) RCA: quick-wins empty-state specs assume no suites/executions exist while projects/execution/signup/checkout mutate that same backend state. With fullyParallel the runs raced (local flake); CI sidestepped it with the workers=1 antipattern (full serialization of a 46-test suite). Fix (@playwright/test 1.62.0 -> 1.63.0): - lock 'suites': projects create-suite/create-case, execution run-suite, quick-wins suites/executions empty-state (mutate/read shared suites state) - lock 'signup': signup create-user + existing-email (user table state) - lock 'billing': checkout subscribe (Stripe session creation) - playwright.config.ts: remove 'workers: 1' CI pin — same-lock tests are now mutually exclusive scheduler-side, rest of suite stays parallel Verified (jokerserver, self-hosted prod stack :3010/:8010): - CI suite (smoke+app) green x2: 11 passed / 3 skipped (auth tests skip by design without E2E_AUTH secrets) / 0 failed, 14 workers - lock semantics demo (ephemeral spec, not committed): 3 same-lock tests zero overlap (next starts only after prior end), unlocked 3 fully concurrent, 6 tests / 2.5s wall on 6 workers Deps bump is test-tooling only; CI workflows already install browsers per-run (e2e.yml 'Install Playwright browsers' step).
PR Check Results✅ Code Formatting: Passed |
|
| Severity | Count |
|---|---|
| 🔴 CRITICAL | 0 |
| 🟠 HIGH | 42 |
| Total | 42 |
Scans performed:
- 📁 Filesystem (vulnerabilities, secrets, misconfigurations)
- 🐳 Backend Docker image
- 🐳 Frontend Docker image
- 🏗️ IaC misconfiguration detection
📋 View detailed SARIF reports
Download artifacts from this workflow run for full SARIF reports.
Results are also available in the GitHub Security tab.
Trivy v0.71.0 | aquasecurity/trivy
🔧 Backend Preview DeploymentApp Coolify: qa-framework-backend-pr-232 ( Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645). |
🎨 Frontend Preview DeploymentApp Coolify: qa-framework-frontend-pr-232 ( Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645). |
🧹 Preview CleanupPR #232 - Merged ✅ Preview apps eliminadas de Coolify (verificado via API): backend + frontend. Resources freed at 2026-09-10T05:33:19.718Z |
Summary
@playwright/testfrom ^1.62 to ^1.63lock:serialization to 8 tests with shared mutable state (suites/signup/billing)workers:1in CI config, letting the lock annotations control concurrencyRoot cause
Quick-wins empty-state assertions raced against mutator specs running in parallel under CI's previously unpinned workers.
Test plan
Refs: card 98fb84ec