Skip to content

test(e2e): playwright 1.63 test locks — serialize shared-state specs, unpin CI workers - #232

Merged
SabaTech-dev merged 1 commit into
mainfrom
qa/e2e-test-locks-163
Sep 10, 2026
Merged

SabaTech-dev merged 1 commit into
mainfrom
qa/e2e-test-locks-163

Conversation

@SabaTech-dev

Copy link
Copy Markdown
Owner

Summary

  • Bump @playwright/test from ^1.62 to ^1.63
  • Add lock: serialization to 8 tests with shared mutable state (suites/signup/billing)
  • Unpin workers:1 in CI config, letting the lock annotations control concurrency

Root cause

Quick-wins empty-state assertions raced against mutator specs running in parallel under CI's previously unpinned workers.

Test plan

  • 11 passed / 3 skipped-by-design, x2 consecutive local runs on qa/e2e-test-locks-163
  • Alfred Review: APPROVED (card 98fb84ec)

Refs: card 98fb84ec

… 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).
@github-actions

Copy link
Copy Markdown

PR Check Results

Code Formatting: Passed
Linting: Passed
Type Checking: Failed
Tests: Failed

⚠️ Some checks failed. Please review the details above.

@github-actions

Copy link
Copy Markdown

⚠️ WARN Trivy Security Scan Results

Severity Count
🔴 CRITICAL 0
🟠 HIGH 42
Total 42

Scans performed:

  • 📁 Filesystem (vulnerabilities, secrets, misconfigurations)
  • 🐳 Backend Docker image
  • 🐳 Frontend Docker image
  • 🏗️ IaC misconfiguration detection

⚠️ HIGH vulnerabilities should be addressed. Review required.

📋 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

@github-actions

Copy link
Copy Markdown

🔧 Backend Preview Deployment

App Coolify: qa-framework-backend-pr-232 (ynckmchzly9wr6ymog8bioro)
Estado: ⚠️ running:unknown
Commit: 13bb385a8cd254bd96c8a298156e95b6d1971766
Branch: qa/e2e-test-locks-163

Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645).

@github-actions

Copy link
Copy Markdown

🎨 Frontend Preview Deployment

App Coolify: qa-framework-frontend-pr-232 (l6lgmzhqyi7tlzonli50nqp7)
Estado: ⚠️ running:unknown
Commit: 13bb385a8cd254bd96c8a298156e95b6d1971766
Branch: qa/e2e-test-locks-163

Preview interna (sin FQDN público hasta decisión de proxy — card 52a85645).

@SabaTech-dev
SabaTech-dev merged commit 139f4b5 into main Sep 10, 2026
41 checks passed
@SabaTech-dev
SabaTech-dev deleted the qa/e2e-test-locks-163 branch September 10, 2026 05:33
@github-actions

Copy link
Copy Markdown

🧹 Preview Cleanup

PR #232 - Merged

✅ Preview apps eliminadas de Coolify (verificado via API): backend + frontend.


Resources freed at 2026-09-10T05:33:19.718Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant