You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description:playwright.config.ts and e2e/swap-happy-path.spec.ts exist and are clearly functional (they mock Freighter and the backend relay), but .github/workflows/ci.yml's frontend job never runs npx playwright test — the e2e suite currently only runs if a contributor remembers to run it manually.
Problem Statement & Context: A fully-built, well-mocked e2e happy-path test exists and provides zero continuous protection today, since CI never executes it. Any regression to the actual end-to-end swap flow (wallet connect → quote → sign → submit → success toast) would currently ship undetected by automation.
Scope & Acceptance Criteria:
Add a CI job (or step within the existing frontend job) that installs Playwright browsers (npx playwright install --with-deps chromium, matching the single chromium project already configured) and runs npx playwright test.
Playwright's HTML report (already configured via reporter: [["html", { open: "never" }]]) is uploaded as a CI artifact on failure (and ideally always, for visibility) via actions/upload-artifact, mirroring the existing coverage-report artifact pattern already in ci.yml.
The job must not flake spuriously due to the webServer boot time — confirm reuseExistingServer: !process.env.CI and the NEXT_PUBLIC_API_URL override already configured in playwright.config.ts are correctly exercised in the CI environment.
Consider whether Playwright should run as a separate parallel job from the existing frontend job (faster overall CI wall-clock time) or a sequential step — a separate job is likely cleaner since it needs a built/running Next.js server, distinct from the lint/typecheck/vitest/build steps.
Edge cases: caching Playwright's browser binaries across CI runs (via actions/cache keyed on the Playwright version) to avoid a slow browser download on every run; ensure the job runs on PRs, not just main pushes, per the existing on: triggers.
Testing: verify by opening a draft PR and confirming the new CI job actually runs and passes/fails appropriately (include a link or screenshot of a green run in this PR's description); intentionally break something trivial in a scratch branch to confirm the job actually catches a real e2e regression, then revert before merging.
Definition of Done:
CI workflow updated, verified green on a real PR run.
Playwright HTML report uploaded as an artifact on the workflow run.
Description:
playwright.config.tsande2e/swap-happy-path.spec.tsexist and are clearly functional (they mock Freighter and the backend relay), but.github/workflows/ci.yml'sfrontendjob never runsnpx playwright test— the e2e suite currently only runs if a contributor remembers to run it manually.Problem Statement & Context: A fully-built, well-mocked e2e happy-path test exists and provides zero continuous protection today, since CI never executes it. Any regression to the actual end-to-end swap flow (wallet connect → quote → sign → submit → success toast) would currently ship undetected by automation.
Scope & Acceptance Criteria:
frontendjob) that installs Playwright browsers (npx playwright install --with-deps chromium, matching the singlechromiumproject already configured) and runsnpx playwright test.reporter: [["html", { open: "never" }]]) is uploaded as a CI artifact on failure (and ideally always, for visibility) viaactions/upload-artifact, mirroring the existingcoverage-reportartifact pattern already inci.yml.webServerboot time — confirmreuseExistingServer: !process.env.CIand theNEXT_PUBLIC_API_URLoverride already configured inplaywright.config.tsare correctly exercised in the CI environment.Implementation Guidelines:
.github/workflows/ci.yml,playwright.config.ts,e2e/swap-happy-path.spec.ts.frontendjob (faster overall CI wall-clock time) or a sequential step — a separate job is likely cleaner since it needs a built/running Next.js server, distinct from the lint/typecheck/vitest/build steps.actions/cachekeyed on the Playwright version) to avoid a slow browser download on every run; ensure the job runs on PRs, not justmainpushes, per the existingon:triggers.Definition of Done:
Resources:
.github/workflows/ci.yml,playwright.config.ts,e2e/swap-happy-path.spec.tsComplexity: High (200 points)