feat(browser): adopt lightpanda via browser-manager subsystem #2
Workflow file for this run
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
| # E2E Playwright workflow — runs on PRs and manual dispatch. | |
| # Fast e2e (tagged "fast") runs on all OSes; full suite is Linux-only to | |
| # contain runner minutes — macOS/Windows Playwright is ~3-4× slower. | |
| name: E2E (Playwright) | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| e2e-fast: | |
| name: "e2e:fast — ${{ matrix.os }}" | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Fast subset on all three platforms — chromium only. | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| browser: [chromium] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.x" | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| # Cache Playwright browser binaries keyed on Playwright version + | |
| # browser list; avoids re-downloading ~100 MB per run. | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@v4 | |
| id: pw-cache | |
| with: | |
| path: | | |
| ~/.cache/ms-playwright | |
| ~/Library/Caches/ms-playwright | |
| %LOCALAPPDATA%\ms-playwright | |
| key: pw-${{ matrix.os }}-${{ hashFiles('package-lock.json') }} | |
| - name: Install Playwright chromium | |
| if: steps.pw-cache.outputs.cache-hit != 'true' | |
| run: npm run browser:install | |
| - name: Run fast e2e | |
| run: npm run test:e2e:fast | |
| e2e-full: | |
| name: "e2e:full — ubuntu" | |
| runs-on: ubuntu-latest | |
| # Only run full suite on Linux; macOS/Windows covered by e2e-fast lane. | |
| needs: e2e-fast | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22.x" | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Cache Playwright browsers | |
| uses: actions/cache@v4 | |
| id: pw-cache | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: pw-ubuntu-latest-${{ hashFiles('package-lock.json') }} | |
| - name: Install Playwright chromium | |
| if: steps.pw-cache.outputs.cache-hit != 'true' | |
| run: npm run browser:install | |
| - name: Run full e2e suite | |
| run: npm run test:e2e |