feat(e2e): isolated all-E2E runner script (PP-6dp)#1285
Open
timothyfroehlich wants to merge 4 commits intomainfrom
Open
feat(e2e): isolated all-E2E runner script (PP-6dp)#1285timothyfroehlich wants to merge 4 commits intomainfrom
timothyfroehlich wants to merge 4 commits intomainfrom
Conversation
Adds scripts/workflow/e2e-all-isolated.sh and pnpm run e2e:all that
runs full + smoke + root specs as separate Playwright invocations,
each re-running e2e/global-setup.ts so DB seed state can't carry
over between suites.
Replaces the dangerous `pnpm exec playwright test` (no --config=)
which picks up every spec under e2e/ in a single Playwright process
and shares mutated DB state across them.
Sequence:
1. pnpm exec playwright test --config=playwright.config.full.ts
2. pnpm exec playwright test --config=playwright.config.smoke.ts
3. pnpm exec playwright test --config=playwright.config.ts \
e2e/machines-filtering.spec.ts (root specs)
Stops at the first failure with `❌ [<suite>] suite failed (exit N)`
so you know which suite broke. Script committed with mode 644 — invoked
via `bash scripts/workflow/e2e-all-isolated.sh` from package.json so
the executable bit isn't required.
Note: with main currently red on the inherited PP-q9r/PP-e20/PP-jsh/
PP-v7g/PP-49m specs in the `full` suite, e2e:all will fail at suite 1
until those land. That's a pre-existing main-is-red signal, not a
regression of this PR.
Refs PP-2on (epic). Documentation update follows in PP-278.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
4 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a safer “run all E2E” workflow by orchestrating the full, smoke, and root Playwright suites as separate Playwright invocations, preventing DB/seed state contamination across suites.
Changes:
- Introduces
scripts/workflow/e2e-all-isolated.shto runfull,smoke, then the root spec as isolated subprocess runs (fail-fast on first failing suite). - Adds
pnpm run e2e:allto invoke the new isolated runner script.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| scripts/workflow/e2e-all-isolated.sh | New bash workflow script that runs E2E suites in separate Playwright invocations to avoid shared mutated state. |
| package.json | Adds the e2e:all script entrypoint that calls the isolated runner. |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
timothyfroehlich
added a commit
that referenced
this pull request
May 5, 2026
…PP-278) (#1286) * docs(agents): document e2e:all and warn against raw playwright test (PP-278) Updates AGENTS.md section 4 "Which Tests to Run": - Reframes item 6 from "NEVER run e2e:full" to "NEVER run e2e:full directly during iteration" — the new e2e:all wraps it as part of a legitimate pre-review pass. - Adds item 7 documenting `pnpm run e2e:all` (introduced in PP-6dp) for the "want everything locally before review" case, with explicit ~10-15 min runtime and a note that each suite runs in its own Playwright invocation with a fresh global-setup between them. - Adds item 8 warning against `pnpm exec playwright test` without --config= — picks up all specs at once and cross-contaminates state. Pointers to e2e:all as the safe alternative. No code changes. Depends on PP-6dp (PR #1285) landing first so the referenced script exists. Refs PP-2on (epic). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(agents): scope item 8 to bare playwright invocation only (PP-278) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
scripts/workflow/e2e-all-isolated.shandpnpm run e2e:allthat runs full + smoke + root specs as separate Playwright invocations, each re-runninge2e/global-setup.tsso DB seed state can't carry over between suites.Replaces the dangerous
pnpm exec playwright test(no--config=) which picks up every spec undere2e/in a single Playwright process and shares mutated DB state across them.Sequence
pnpm exec playwright test --config=playwright.config.full.tspnpm exec playwright test --config=playwright.config.smoke.tspnpm exec playwright test --config=playwright.config.ts e2e/machines-filtering.spec.ts(root specs)Stops at the first failure with
❌ [<suite>] suite failed (exit N)so you know which suite broke.Permissions
Script committed with mode 644 — invoked via
bash scripts/workflow/e2e-all-isolated.shfrompackage.jsonso the executable bit isn't required. If you want to call it directly via./scripts/workflow/e2e-all-isolated.sh, runchmod +x scripts/workflow/e2e-all-isolated.sh && git update-index --chmod=+x scripts/workflow/e2e-all-isolated.shand push.Inherited CI failures
mainis currently red. Inherited failures from main (PP-q9r/PP-e20/PP-jsh/PP-v7g/PP-49m) will appear in CI; not introduced by this PR. See Tim's status comment on PR #1278.Note: with those failures still on main,
e2e:allwill exit at suite 1 (full) until those land. That's the pre-existing red signal, not a regression of this PR. The orchestration logic itself is verified by the script structure (each suite is its own subprocess invocation ofplaywright test).Test plan
pnpm run checkpasses (1013 unit tests)shellcheckcleanbash -nsyntax check passespnpm run e2e:allexits 0 end-to-endfullspec, confirmsmokestill passes (proves isolation)Related
🤖 Generated with Claude Code