ci: run Playwright e2e suite on every PR#35
Open
zphillips wants to merge 1 commit into
Open
Conversation
Add a CircleCI `e2e` job (Node 20 + browsers image) that installs deps and runs `yarn test:e2e` on every branch / PR, so regressions surface automatically instead of relying on someone running the suite locally. The existing deploy job stays on Node 14; this job rents a newer image because Playwright requires Node >=18. No branch filter so it runs on PRs. Follow-up to PADAS#34 (the e2e suite itself); depends on that landing first. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 tasks
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
Add a CircleCI
e2ejob that runs the Playwright regression suite on every branch / PR, so breakage surfaces automatically instead of relying on someone remembering to runyarn test:e2elocally. Follow-up to #34.Decisions & alternatives
e2ejob oncimg/node:20-browsers, no branch filter so it runs on all PRs. Kept separate from the existingdeploy_testERjob, which stays on Node 14 — Playwright needs Node ≥18, so this job rents its own newer image; the two never share a machine.--openssl-legacy-providerdev server booting under Node 20 in CI is the main unknown; may need a small tweak once it runs live.Links
test:e2escript). Merge [1.1] test: add Playwright e2e regression net for current app #34 first — this job has nothing to run until those files are ondevelop.Tests — how do we know it's safe? (check all used)
config.ymlYAML structure validated locallyIncident detection — if this breaks in prod, how will we know?
CI-only change, no runtime / prod impact. A misconfigured job shows red on the PR in CircleCI — that's the signal.
Incident impact analysis — can we measure the blast radius?
Blast radius is limited to CI. Until this check is marked required in branch protection, a failing or broken job blocks nothing and has zero user impact.
Rollback & mitigation — if it goes wrong, how do we fix it fast?
.circleci/config.yml; reverting removes the job cleanly.To make this an actual merge gate (admin only)
Two settings I can't reach as an outside contributor:
develop→ "Require status checks to pass before merging" → select thee2echeck. The check only appears in that list after it has run once, so do updated tracks #1 first.