Skip to content
Open
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
17 changes: 11 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ jobs:

e2e-tests:
runs-on: ubuntu-latest
# One job per browser, each running both builds, so the browsers run in parallel.
strategy:
fail-fast: false
matrix:
browser: [chromium, firefox, webkit]

steps:
- uses: actions/checkout@v4
Expand All @@ -53,7 +58,7 @@ jobs:
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ steps.playwright-version.outputs.version }}
key: playwright-${{ runner.os }}-${{ matrix.browser }}-${{ steps.playwright-version.outputs.version }}

# playwright's dep install runs apt-get update, which fails outright when any
# configured repo is mid-republish (hash mismatch). The runner image ships
Expand All @@ -63,23 +68,23 @@ jobs:

- name: Install Playwright browsers
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install --with-deps
run: npx playwright install --with-deps ${{ matrix.browser }}

- name: Install Playwright system dependencies (cache hit)
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: npx playwright install-deps
run: npx playwright install-deps ${{ matrix.browser }}

- name: Build project
run: npm run build

- name: Run E2E tests (all browsers, both builds)
run: npm run test:e2e
- name: Run E2E tests (${{ matrix.browser }}, both builds)
run: npm run test:e2e -- --project=${{ matrix.browser }} --project=${{ matrix.browser }}-minified

- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report
name: playwright-report-${{ matrix.browser }}
path: playwright-report/
retention-days: 30

Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

All notable changes to this project will be documented here.

## [Unreleased]
#### Changed
- Import individual `turf` modules rather than broadly to reduce bundle size
- Playwright e2e test optimizations
- Only record video on the first retry
- Local runs use default `workers` (half of available CPU cores)
- Break each browser into a job and run jobs in parallel
- Skip returning `window.ulabel` from `wait_for_ulabel_init`;
serializing the whole ULabel instance is slow

## [0.31.1] - Oct 22nd, 2026
#### Changed
- Simplified ternary syntax into nullish coalescing in several locations
Expand Down
Loading
Loading