Skip to content

Firefox integration tests #3825

Firefox integration tests

Firefox integration tests #3825

Workflow file for this run

name: Check
on:
push:
branches: [main]
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
- run: npm run install-ci
- run: npm run lint && echo 'No lint issues!' || (npm run lint-fix; git diff; echo 'Lint check failed, review diff above or run "npm run lint-fix"'; return 1)
build:
strategy:
matrix:
version: [22]
os: [ubuntu-latest, macos-latest]
target: ['release-firefox', 'release-chrome']
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.version }}
cache: 'npm'
- run: npm run ${{ matrix.target }}
unit-tests:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
- run: npm run install-ci
- run: npm test
playwright-tests:
timeout-minutes: 14
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
test: [playwright, playwright-mv2]
shard: [1/4, 2/4, 3/4, 4/4]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
- run: npm run install-ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps chromium
- name: Run tests
run: xvfb-run --auto-servernum -- npm run ${{ matrix.test }} -- --shard ${{ matrix.shard }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ matrix.test }}-report-${{ strategy.job-index }}
path: playwright-report/
retention-days: 1
playwright-tests-firefox:
timeout-minutes: 30
runs-on: ubuntu-latest
# Firefox tests are experimental - don't block CI on failures
continue-on-error: true
strategy:
fail-fast: false
matrix:
shard: [1/4, 2/4, 3/4, 4/4]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
- run: npm run install-ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps firefox
- name: Run Firefox tests
run: xvfb-run --auto-servernum -- npm run playwright-firefox -- --shard ${{ matrix.shard }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-firefox-report-${{ strategy.job-index }}
path: playwright-report/
retention-days: 1