Skip to content

ci(e2e): Playwright runs against the mocked stack on every PR (soak phase)#177

Merged
eren23 merged 1 commit into
mainfrom
ci/e2e-playwright-soak
Jul 19, 2026
Merged

ci(e2e): Playwright runs against the mocked stack on every PR (soak phase)#177
eren23 merged 1 commit into
mainfrom
ci/e2e-playwright-soak

Conversation

@eren23

@eren23 eren23 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Extends the required e2e-mock job (one boot, one build) to run the real Playwright suite after its curl smoke, on every PR:

  • WORLD_MODE=true on the boot — backend flag + the compose build-arg fallthrough bakes NEXT_PUBLIC_WORLD_MODE into the web bundle, so the upcoming world/interior specs are testable; classic paths stay exercisable (per-request world_mode:false + the UI toggle).
  • pnpm/node/ms-playwright caches; report + test-results uploaded always; compose logs dumped on failure.
  • continue-on-error: true = the soak: the suite proves itself across ~10 unrelated PRs, then a one-line flip PR makes browser tests required. The curl gate never loosens meanwhile.
  • E2E_MOCK tightens Playwright timeouts (120s/30s) so hangs fail fast; the label-gated real-key e2e job is untouched.

The 4 existing specs run under mock from this PR — the first soak signal. Job runtime ~10–13 min (was ~3–5); the PR lane's long pole is unchanged.

🤖 Generated with Claude Code

…hase)

The e2e-mock job was curl-only; the real browser suite sat behind an
e2e:run label nobody applies. Now the SAME job — one boot, one build —
runs the Playwright suite after its curl smoke, on every PR:

- WORLD_MODE=true on the boot (backend flag + the compose build-arg
  fallthrough bakes NEXT_PUBLIC_WORLD_MODE into the web bundle) so the
  world/interior specs can exist; classic paths stay exercisable.
- pnpm + node + ms-playwright caches; browsers installed per run
  (~30-40s warm); report + test-results uploaded always; compose logs
  dumped on failure.
- continue-on-error=true is the SOAK: the suite must prove itself green
  across ~10 unrelated PRs before the one-line flip PR makes browser
  tests REQUIRED. The curl gate never loosens meanwhile.
- playwright.config: E2E_MOCK tightens timeouts (120s/30s vs 240s/60s)
  so a hang fails in minutes; the label-gated real-key e2e job is
  untouched.
@cursor

cursor Bot commented Jul 19, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@eren23
eren23 merged commit f812cdb into main Jul 19, 2026
9 checks passed
@eren23
eren23 deleted the ci/e2e-playwright-soak branch July 19, 2026 08:19
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