From 8470cf19781e1cfc46c3830dba05a843ff8cbc98 Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Wed, 19 Aug 2026 20:23:32 -0400 Subject: [PATCH] Bound the apt half of the Playwright install MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `--with-deps` bundles two unrelated operations: fetching the browsers from Microsoft's CDN, and apt-installing the system libraries they link against. Only the second reaches Ubuntu's mirrors, and that is where this step stalls — it has sat here for as long as 170 minutes holding a runner, while the browser download has never been implicated. Splitting them bounds the half that fails without touching the half that works. Measured over the three weeks before this started, the whole step ran to a 45-second median and a 59-second maximum, so five minutes for the deps half is generous rather than tight. Co-Authored-By: Claude Opus 5 --- .github/workflows/ci-software-factory.yaml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-software-factory.yaml b/.github/workflows/ci-software-factory.yaml index cbc13e7c99e..55b1b9c6dba 100644 --- a/.github/workflows/ci-software-factory.yaml +++ b/.github/workflows/ci-software-factory.yaml @@ -80,10 +80,21 @@ jobs: shopt -s dotglob cp -a .test-web-assets-artifact/. ./ - name: Install Playwright Browsers - # --with-deps also apt-installs the system libraries Playwright needs; - # without it CI fails with "Host system is missing dependencies to run - # browsers". - run: pnpm exec playwright install --with-deps + # `--with-deps` bundles two unrelated operations: fetching the browsers + # from Microsoft's CDN, and apt-installing the system libraries they + # link against. Only the second reaches Ubuntu's mirrors, and that is + # where this step stalls — it has sat here for as long as 170 minutes, + # holding a runner, while the browser download itself has never been + # implicated. Splitting them bounds the half that fails without + # touching the half that works. + # + # A healthy install of both takes about a minute, so five is generous. + # The deps half is still required: without it Playwright reports "Host + # system is missing dependencies to run browsers". + timeout-minutes: 10 + run: | + pnpm exec playwright install + timeout 5m pnpm exec playwright install-deps working-directory: packages/software-factory - name: Run Node tests if: ${{ matrix.shard.index == 1 }}