Skip to content

refactor(wallet): route browser-wallet writes through the SDK #23

refactor(wallet): route browser-wallet writes through the SDK

refactor(wallet): route browser-wallet writes through the SDK #23

Workflow file for this run

# Tier-2 browser-wallet signing e2e (Playwright + mock provider on anvil).
#
# INFORMATIONAL / NOT A REQUIRED GATE (initially). This job drives a headless
# chromium against the real bridge page with a viem-backed mock window.ethereum
# that signs+broadcasts to an ephemeral anvil, exercising the full
# connect -> sign -> receipt loop with zero MetaMask. Keep it OFF the required
# status checks in branch protection until it has proven stable across a few
# weeks of PRs, then promote it to required.
#
# Distinct filename from the synced cross-repo e2e.yml (the /run-e2e cucumber
# pipeline) so the two never collide.
name: E2E Wallet (Tier 2)
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- v0.40
- v0.40-dev
jobs:
e2e-wallet:
name: Browser-wallet e2e (anvil lanes)
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install libsecret runtime
run: sudo apt-get update && sudo apt-get install -y libsecret-1-0
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build the project
run: npm run build
- name: Install Foundry (anvil)
uses: foundry-rs/foundry-toolchain@v1
- name: Install Playwright chromium
run: npx playwright install --with-deps chromium
- name: Run Tier-2 e2e (anvil lanes)
run: npm run test:e2e
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: |
playwright-report/
test-results/
retention-days: 7
if-no-files-found: ignore