Skip to content

ci: shard Playwright runs per browser project - #193

Merged
justin-schroeder merged 1 commit into
release/0.6.0from
ci/shard-playwright
Jun 11, 2026
Merged

justin-schroeder merged 1 commit into
release/0.6.0from
ci/shard-playwright

Conversation

@justin-schroeder

Copy link
Copy Markdown
Member

Fixes the CI timeouts on release/0.6.0.

What was happening

Every recent run on this branch shows as cancelled — they were being killed by timeout-minutes: 30 (the latest ran exactly 30m15s). The campaign grew the suite from 58 to ~150 tests, and the workflow runs all four Playwright projects serially in one job with workers: 1.

Fix

Matrix shard per Playwright project (Desktop Chrome / Firefox / WebKit / iPhone 13 Chromium):

  • each shard runs one project (--project), comfortably inside the timeout
  • each installs only its own browser (playwright install --with-deps <browser>)
  • fail-fast: false so one engine's failure doesn't mask the others
  • per-shard report artifacts

The very next push to this branch (this merge) validates it.

The suite grew past what a single serial job can finish inside the
30-minute timeout — every recent run was killed at 30m and reported as
cancelled. One matrix shard per Playwright project (Chrome, Firefox,
WebKit, mobile Chromium) keeps each job well under the limit, installs
only the browser it needs, and fails independently per engine.
@vercel

vercel Bot commented Jun 11, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
drag-and-drop-docs Ready Ready Preview Jun 11, 2026 6:00pm

Request Review

@justin-schroeder justin-schroeder left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review notes: workflow-only change; matched the project names exactly against playwright.config.ts (testMatch per project is preserved — the mobile shard runs only synthetic-drag specs as before). The mobile shard reuses chromium so no extra browser download. The push triggered by merging this is itself the validation run.

@justin-schroeder
justin-schroeder merged commit 4d56594 into release/0.6.0 Jun 11, 2026
0 of 5 checks passed

This branch was successfully deployed

1 active deployment
Preview — 97d85ceb Deployed Jun 11, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant