Skip to content

chore: one matrix job per kind of test in CI - #16844

Merged
Rich-Harris merged 9 commits into
faster-testsfrom
shard-basics
Aug 19, 2026
Merged

chore: one matrix job per kind of test in CI#16844
Rich-Harris merged 9 commits into
faster-testsfrom
shard-basics

Conversation

@Nic-Polumeyv

@Nic-Polumeyv Nic-Polumeyv commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Stacked on #16842.

The e2e legs were six copies of the same job with different scripts wired in. They're now one e2e matrix (rows are { script, project, shard, os, browser, workers }) and one test matrix for unit tests, which also gives kit's unit tests a Windows leg outside test:cross-platform:dev. basics runs its js project in two shards and its no-js project alone (KIT_E2E_SHARD, KIT_E2E_PROJECT in test/utils.js); Playwright shards by contiguous test count, so a shard straddling the two projects was the 7m/1m40 split.

Longest job 14m → 6.5m, coverage and runner-minutes unchanged. 88% of kit runs share the org's 60-slot pool with another kit run, so cutting runner-minutes means dropping cells, which is a separate decision.

@pkg-svelte-dev

pkg-svelte-dev Bot commented Aug 19, 2026

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from 00a543f:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/00a543fbd94a87be6d3ad8f7f2e1f1899f9ab5da

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/kit/pr/16844

@changeset-bot

changeset-bot Bot commented Aug 19, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 00a543f

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@svelte-docs-bot

Copy link
Copy Markdown

@Nic-Polumeyv Nic-Polumeyv changed the title chore: shard the test-kit e2e legs chore: speed up e2e CI Aug 19, 2026
same test plan, one set of steps; the unit legs get their own job
…s-platform leg

they were the only unit run on windows, which kept them on the macOS and firefox critical paths too
…legs, 3 on macOS

the 2-way js cut lands both client.test.js files in one shard (274s vs 192s); 4 workers measured ~9% faster than 2 on the same slice
4 workers oversubscribes the windows runner (worker teardown timeouts, no speedup); the third
shard bought critical path with runner-minutes, and kit runs share a contended pool 88% of the
time, so runner-minutes are what wall-clock follows
test:others generates kit's types itself so every row runs the same steps
@Nic-Polumeyv Nic-Polumeyv changed the title chore: speed up e2e CI chore: one matrix job per kind of test in CI Aug 19, 2026
@Nic-Polumeyv
Nic-Polumeyv marked this pull request as ready for review August 19, 2026 04:57

@Rich-Harris Rich-Harris left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

crazy improvement

@Rich-Harris
Rich-Harris merged commit 1ca2ec3 into faster-tests Aug 19, 2026
37 checks passed
@Rich-Harris
Rich-Harris deleted the shard-basics branch August 19, 2026 16:31
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.

2 participants