Feat/playwright e2e ci 343 rebase#727
Conversation
|
hey, main has moved significantly today (10+ PRs merged including the JWT test fix and various backend fixes). your branch's CI failure is on a stale base. please rebase: git fetch upstream
git rebase upstream/main
git push --force-with-leasemain is green right now, so CI should clear on the rebased commit. |
|
heads up: main's ci was broken (the Backend CI and Backend Docker Image CI jobs) until the fixes in #969 and #974 just landed, so the red backend/docker checks on this pr are almost certainly stale, they ran against the broken main. please rebase to re-test against the now-green main: |
|
Thank you @ogazboiz for bringing it up, I've already forgotten that I made this PR to be honest. |
a2e1ff4 to
7033d1d
Compare
7033d1d to
7170903
Compare
ogazboiz
left a comment
There was a problem hiding this comment.
thanks for this, the playwright e2e setup is genuinely useful and it's green across the board now. good stuff in here: the new e2e job (needs: frontend, playwright browser cache, build then npx playwright test) is structured well, the stream-lifecycle spec is real coverage, the dashboard-view redirect fix (/app/streams/ -> /streams/) is a legit bug fix, and the E2E_MOCK_SOROBAN window seam is a reasonable way to mock soroban from the tests. also heads up the +9269 looks scary but ~8700 of it is just the package-lock playwright deps, so that part's expected.
one real thing to fix before it can land, plus two minor notes:
-
(blocker) the pr commits test-run artifacts into the repo: test-results/.last-run.json and test-results/frontend-e2e-...-resume-and-cancel-a-stream/error-context.md, and that error-context is from a FAILED run. those are transient playwright output and shouldn't be in git. please
git rm -r --cached test-results/and commit the removal. also the .gitignore you added ignoresfrontend/test-results/, but the committed artifacts are at the repo-roottest-results/, so addtest-results/too (and keep playwright's outputDir consistent) so it can't happen again. -
minor: logger.ts drops the
// eslint-disable-line no-consolecomments while keeping the console.* calls. it's passing now, but if the no-console rule is still on that could re-flag later, worth confirming that's intentional. -
minor: the soroban.ts E2E_MOCK_SOROBAN checks use
(window as any)with 6 eslint-disable-next-line lines. fine for a test seam, but a small typed declaration (e.g.interface Window { E2E_MOCK_SOROBAN?: boolean }) would drop all six any-casts.
remove the committed test-results and fix the gitignore path and this is good to merge, the e2e work itself is solid.
|
Requested changes has been made @ogazboiz |
Re-enabling the Playwright end-to-end integration flow from closed PR #343.
This branch handles E2E stream lifecycles without local state bloat. It sets up an isolated environment pipeline via GitHub Actions using matrix configuration structures optimized directly alongside recent updates to main. Local execution test results and raw HTML reports have been explicitly stripped from tracking trees and isolated inside .gitignore.