From 57c111f4195b66c55889dd3e079f11c9e72e442f Mon Sep 17 00:00:00 2001 From: Cameron Dawson Date: Sat, 22 Aug 2026 11:07:15 -0700 Subject: [PATCH] Cap Playwright workers in CI to match the 4-vCPU executor CircleCI containers report the host's CPU count rather than the cgroup limit, so Playwright's default (cores / 2) spawned 18 Firefox workers on a 4-vCPU executor. The oversubscribed container never completed a single test and the job hung until CircleCI's no-output timeout killed it. --- playwright.config.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/playwright.config.js b/playwright.config.js index 06f7a4ce2ec..7deddce42a3 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -8,6 +8,10 @@ module.exports = defineConfig({ fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, + // CI containers report the host's CPU count rather than the executor's + // cgroup limit, so Playwright's default (cores / 2) massively oversubscribes + // the 4-vCPU CircleCI executor and the run hangs. Pin workers to match it. + workers: process.env.CI ? 4 : undefined, reporter: process.env.CI ? [ ['list'],