ci(e2e): run the macOS Electron suite as two shards (#1707)

macOS runners are the scarcest on this account, so macOS now runs the
Electron E2E suite as two Playwright shards instead of three; Ubuntu and
Windows keep three. macOS shards get a 40-minute timeout. The summary job
needed no change because it reads each shard's total from its report.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
4grayandClaude Opus 5.5 authored and GitHub committed 2026-09-27 07:32:37 +02:00
1 parent 8ebb7e3424
commit b87291e388
2 files changed
+17 -7

No files matched your search

+14 -5
View File
@@ -42,17 +42,26 @@ jobs:
# The sequential Electron suite is split into Playwright shards (one
# runner each, split by spec file). Measured on 2026-09-26, a third of
# the suite is 6-12 minutes of test time on top of 3-7 minutes of
# setup, so 30 minutes leaves room for retries on every OS.
timeout-minutes: 30
# setup. macOS uses two shards because its runners are the scarcest:
# three macOS shards per run queued for 45-57 minutes on master. Half
# of the suite is about 15 minutes of test time on macOS, so it gets
# a longer timeout to leave room for retries.
timeout-minutes: ${{ matrix.os == 'macos-latest' && 40 || 30 }}
env:
IPTVNATOR_ALLOW_PRIVATE_NETWORK_URLS: '1'
NX_SKIP_NX_CACHE: true
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
shard: [1, 2, 3]
shard-total: [3]
include:
- { os: ubuntu-latest, shard: 1, shard-total: 3 }
- { os: ubuntu-latest, shard: 2, shard-total: 3 }
- { os: ubuntu-latest, shard: 3, shard-total: 3 }
- { os: macos-latest, shard: 1, shard-total: 2 }
- { os: macos-latest, shard: 2, shard-total: 2 }
- { os: windows-latest, shard: 1, shard-total: 3 }
- { os: windows-latest, shard: 2, shard-total: 3 }
- { os: windows-latest, shard: 3, shard-total: 3 }
steps:
- uses: actions/checkout@v7
+3 -2
View File
@@ -146,8 +146,9 @@ After an E2E run, generate the semantic summary with:
pnpm run coverage:e2e:summary
```
CI runs the Electron suite as three Playwright shards per OS
(`--shard=<n>/3`, split by spec file because the suite is sequential). Each
CI runs the Electron suite as Playwright shards (`--shard=<n>/<total>`, split
by spec file because the suite is sequential): three shards on Ubuntu and
Windows, two on macOS, whose runners are the scarcest and queued longest. Each
shard uploads `playwright-report-electron-<os>-<n>`; the follow-up
`Electron E2E summary` job downloads the shards of each OS into their own
directory and runs the summary per OS with `--input=<directory>` and