You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(e2e): fix slow Windows e2e (oclif PowerShell spawn) and add per-OS CI gates (#1357)
* test(e2e): set SHELL so oclif skips per-command PowerShell shell detection
@oclif/core 4.11.5+ resolves the shell during Config.load() via getShell(),
which on Windows runs determineWindowsShell() — an execSync of
`powershell.exe -Command "(Get-CimInstance Win32_Process ...)"` on every
command. CPU profiling showed that spawn dominating each Windows e2e command
(~2.6s under suite load), which is what made the Windows e2e suite time out.
getShell() short-circuits when SHELL is set, so setting it in the e2e harness
skips the spawn. A/B on Windows: account-plan spec 80s -> 43s, and CI Windows
e2e timeouts went 268 -> 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* ci: split test workflow per-OS and add CI gate jobs
Move the Windows legs onto blacksmith-4vcpu-windows-2025 and split the three
mixed-OS matrix jobs into per-OS jobs so each OS can be gated independently.
The checkly e2e job is sharded into 4 on Windows (the slow leg); Ubuntu runs
the suite in one job.
Add two aggregate gate jobs, "CI gate - ubuntu" and "CI gate - windows", that
fail if any of their OS's jobs fail or cancel (skipped is allowed for the
push-to-main case). These are the single status checks to require in branch
protection: one point of gating for the sharded Windows e2e, and the ability
to make only Ubuntu required without touching individual job names.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments