Skip to content

ci: run playwright wallet/transaction matrix on chromium firefox webkit - #236

Open
cybermax4200 wants to merge 11 commits into
wraith-protocol:developfrom
cybermax4200:feat/ci-playwright-matrix
Open

cybermax4200 wants to merge 11 commits into
wraith-protocol:developfrom
cybermax4200:feat/ci-playwright-matrix

Conversation

@cybermax4200

Copy link
Copy Markdown

Summary

Adds a GitHub Actions workflow that runs the Playwright E2E matrix (wallet, send, receive, vault, and failure-path tests) across Chromium, Firefox, and WebKit.

Changes

  • .github/workflows/e2e.yml: new CI job running on push/PR to main/develop:
    • Matrix: chromium, firefox, webkit (fail-fast: false)
    • Installs Playwright browsers per project (npx playwright install --with-deps)
    • Builds the app, then runs pnpm playwright test --project=${{ matrix.project }} with CI: true
    • Uploads the Playwright HTML report on every run (always())
    • Uploads traces only on failure (if: failure()), per the requirement to keep traces out of passing runs

Test coverage

Existing specs under tests/ and e2e/ cover:

  • Wallet connect/picker (Stellar Freighter/Albedo, connection failure paths)
  • Send / receive flows
  • Vault deposit/refund/claim (simulate → assemble → sign → send → poll ordering, retry/failure paths)

Browser-specific expectations are already explicit in specs (e.g. Chromium-only clipboard assertions skip on Firefox/WebKit via browserName).

Verification

  • pnpm format:check: passed
  • YAML validated locally
  • Chromium binary installed and tests/vault-deposit.spec.ts: 7 passed locally

Closes #210

@drips-wave

drips-wave Bot commented Oct 17, 2026

Copy link
Copy Markdown

@cybermax4200 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@vercel

vercel Bot commented Oct 17, 2026

Copy link
Copy Markdown

@cybermax4200 is attempting to deploy a commit to the truthixify's projects Team on Vercel.

A member of the Team first needs to authorize it.

@truthixify truthixify left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All three browser jobs fail before tests because pnpm/action-setup specifies version 10 while package.json pins pnpm@10.28.2. Use the packageManager field or the exact same version. Also upload Playwright's actual trace location (test-results/**/trace.zip or the configured output directory); trace/ is not produced by the current config. Rerun the Chromium, Firefox, and WebKit matrix successfully.

…t findings

GHSA-q3jh-wrc6-jgq8 and GHSA-8r9p-f939-6h3c both affect follow-redirects
>=1.16.0 <1.16.1. The vulnerable 1.16.0 was pulled in transitively via
@ckb-ccc/ccc -> @ckb-ccc/spore -> axios@1.20.0. The existing axios override
already pinned the dep chain but did not force follow-redirects itself.

Audit gate now reports 1 high (braces, already accepted) — same baseline.
…r error

pnpm/action-setup@v4 self-installer exits with code 1 on ubuntu-latest when
no version: input is provided and corepack is not pre-enabled, killing the
job before pnpm is available. Switch to the same corepack approach used in
ci.yml: enable corepack then prepare the exact version from packageManager.

@truthixify truthixify left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The setup and trace-upload issues are fixed, but the workflow is still not a usable gate: all three browser jobs fail. Chromium reports 86 failed and only 7 passed after 1.6 hours; representative failures time out waiting for getByText('Status') in tests/vault-refund.spec.ts:117 and :127, and Firefox/WebKit fail as well. Scope the workflow to the maintained wallet/transaction matrix or repair/configure the existing specs so the matrix is green; merging a permanently red required E2E workflow would block every subsequent PR.

@truthixify truthixify left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The focused test changes cannot run on this head because pnpm-lock.yaml is invalid: pnpm install --frozen-lockfile reports ERR_PNPM_BROKEN_LOCKFILE with a duplicated follow-redirects mapping key at lines 10 and 12. The build, unit, Chromium, Firefox, and WebKit jobs all fail at dependency installation, so none of the matrix is exercised. Regenerate the lockfile cleanly from the current base and rerun all required jobs, including the three browser projects.

@truthixify truthixify left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking on the current head f05297f. The required E2E workflow is still red: Chromium reports 33 failures across basic send/receive navigation and controls, and WebKit still cannot render the matched Stellar transfer. Raising the bundle budget and regenerating the lockfile does not resolve this. Please make the browser matrix pass on the exact PR head and keep the security-audit baseline consistent with the resolved dependency versions.

This branch has not been deployed

No deployments
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.

[Wave 10][Carryover] Run the Playwright wallet and transaction matrix in CI

2 participants