From 38e117203e791c8444049a2adfe46ac7169db705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Tue, 11 Aug 2026 12:47:15 +0200 Subject: [PATCH 1/2] Shard macOS unit tests in CI macOS is the slowest and most variable unit-test runner (4m38s to 15m34s for the same suite in recent runs) and gates the required 'Unit tests' check. Shard it 2x like Windows to halve its wall-clock time. --- .github/workflows/tests-pr.yml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-pr.yml b/.github/workflows/tests-pr.yml index 6f53f4e0a22..2996f34e65f 100644 --- a/.github/workflows/tests-pr.yml +++ b/.github/workflows/tests-pr.yml @@ -160,7 +160,7 @@ jobs: node: [ '22.12.0', '24.1.0', '26.1.0' ] shard: [ '' ] include: - # Add sharding for Windows jobs to reduce wall-clock time + # Add sharding for Windows and macOS jobs to reduce wall-clock time - os: windows-latest node: '22.12.0' shard: '1/2' @@ -179,8 +179,26 @@ jobs: - os: windows-latest node: '26.1.0' shard: '2/2' + - os: macos-latest + node: '22.12.0' + shard: '1/2' + - os: macos-latest + node: '22.12.0' + shard: '2/2' + - os: macos-latest + node: '24.1.0' + shard: '1/2' + - os: macos-latest + node: '24.1.0' + shard: '2/2' + - os: macos-latest + node: '26.1.0' + shard: '1/2' + - os: macos-latest + node: '26.1.0' + shard: '2/2' exclude: - # Exclude the non-sharded Windows entries (replaced by sharded ones above) + # Exclude the non-sharded Windows and macOS entries (replaced by sharded ones above) - os: windows-latest node: '22.12.0' shard: '' @@ -190,6 +208,15 @@ jobs: - os: windows-latest node: '26.1.0' shard: '' + - os: macos-latest + node: '22.12.0' + shard: '' + - os: macos-latest + node: '24.1.0' + shard: '' + - os: macos-latest + node: '26.1.0' + shard: '' steps: - uses: actions/checkout@v6 with: From e362bc5616e58dd9c93507269987c75d4b5d81ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isaac=20Rold=C3=A1n?= Date: Tue, 11 Aug 2026 12:47:29 +0200 Subject: [PATCH 2/2] Split E2E tests into three Playwright shards Shard 1 consistently takes 1.5-2.5x as long as shard 2 (6.5-12m vs 4-5m). A third shard rebalances the file distribution and shortens the E2E chain that the cleanup job waits on. --- .github/workflows/tests-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-pr.yml b/.github/workflows/tests-pr.yml index 2996f34e65f..c16e9df6619 100644 --- a/.github/workflows/tests-pr.yml +++ b/.github/workflows/tests-pr.yml @@ -255,7 +255,7 @@ jobs: strategy: fail-fast: false matrix: - shard: ['1/2', '2/2'] + shard: ['1/3', '2/3', '3/3'] steps: - uses: actions/checkout@v6 with: