Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 32 additions & 3 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,27 @@ jobs:
- name: Check patch hygiene
run: git diff --check

browser:
browser-shard:
name: browser (${{ matrix.project }})
needs: validate
runs-on: ubuntu-latest
timeout-minutes: 35
strategy:
fail-fast: false
matrix:
include:
- project: chromium
engine: chromium
- project: chromium-dark
engine: chromium
- project: mobile-chromium
engine: chromium
- project: firefox
engine: firefox
- project: webkit
engine: webkit
- project: mobile-webkit
engine: webkit

steps:
- name: Checkout repository
Expand All @@ -114,13 +131,25 @@ jobs:
run: |
python -m pip install -r requirements-docs.txt
npm ci
npx playwright install --with-deps chromium firefox webkit
npx playwright install --with-deps ${{ matrix.engine }}

- name: Build site
run: npm run docs:build

- name: Run critical journeys and accessibility checks
run: npm run test:browser
run: npm run test:browser -- --project=${{ matrix.project }}

# Branch protection requires a check named "browser"; this job passes only
# when every browser shard above passed.
browser:
needs: browser-shard
if: always()
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- name: Require every browser shard to pass
run: test "${{ needs.browser-shard.result }}" = "success"

lighthouse:
needs: validate
Expand Down
2 changes: 1 addition & 1 deletion playwright.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export default defineConfig({
fullyParallel: true,
forbidOnly: Boolean(process.env.CI),
retries: process.env.CI ? 2 : 0,
workers: 2,
workers: process.env.CI ? 4 : 2,
timeout: 30_000,
expect: {
timeout: 8_000
Expand Down
Loading