Skip to content

Instrument E2E to pinpoint CI timeout #12

Instrument E2E to pinpoint CI timeout

Instrument E2E to pinpoint CI timeout #12

Workflow file for this run

name: Build
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate manifest
run: |
node -e "const m = require('./src/manifest.json'); if (!m.manifest_version || !m.name || !m.version) process.exit(1); console.log('OK', m.name, m.version);"
- name: Check extension structure
run: |
test -f src/background.js
test -f src/content.js
test -f src/ui/popup/popup.html
test -f src/ui/options/options.html
- name: Check store assets (icons)
run: |
for size in 16 32 48 128; do
test -f "src/assets/icons/icon-${size}.png" || { echo "Missing src/assets/icons/icon-${size}.png"; exit 1; }
done
echo "Icon assets OK"
e2e:
runs-on: ubuntu-latest
needs: validate
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Install Chromium dependencies (Puppeteer on Linux)
run: |
sudo apt-get update
sudo apt-get install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2t64
- name: Run E2E tests
run: npm run test:e2e