Skip to content

chore(main): release 0.26.0 #116

chore(main): release 0.26.0

chore(main): release 0.26.0 #116

Workflow file for this run

name: Extension E2E
# Drives the real built extension (dist/) with Chromium via --load-extension.
# Heavier than the unit/lint checks folded into ci.yml's checks job (needs a
# build + a real browser), so it runs only on extension changes and on demand,
# matching desktop-e2e.yml's pattern for the same reason.
on:
workflow_dispatch:
pull_request:
paths:
- 'apps/extension/**'
- 'packages/core/**'
- 'packages/picker-dom/**'
- '.github/workflows/extension-e2e.yml'
jobs:
e2e:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v7
- name: Install node
uses: actions/setup-node@v7
with:
node-version: 24
cache: npm
cache-dependency-path: ./package-lock.json
- name: Install dependencies
run: npm ci --prefer-offline --no-audit --fund=false
# No cache step: ci.yml's own Playwright cache (same key shape, shared
# repo-wide by actions/cache) holds only --only-shell, which can't load
# extensions — a cache hit here would skip installing the full browser
# this suite actually needs. Always install fresh instead, same as
# desktop-e2e.yml.
- name: Install Playwright browsers
run: npx playwright install chromium --with-deps
- name: Run extension E2E
working-directory: ./apps/extension
run: npm run extension:test:e2e
- name: Upload Playwright report
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v7
with:
name: extension-e2e-report
path: apps/extension/playwright-report
if-no-files-found: ignore