From 8f5d8cb1f25f444f30729d13524abdf2532bd59a Mon Sep 17 00:00:00 2001 From: Jesse Turner Date: Fri, 10 Jul 2026 10:20:52 -0700 Subject: [PATCH] ci: pin browser-tests to ubuntu-latest (fix Playwright deps on CodeBuild) #1715 moved every job onto the CodeBuild-hosted runner. The browser-tests job runs `npx playwright install chromium --with-deps`, which shells out to the system package manager to install Chromium's OS-level shared libraries. The CodeBuild runner image has no apt-get and Playwright doesn't recognize its distro, so the step deterministically fails: BEWARE: your OS is not officially supported by Playwright ... sh: line 1: apt-get: command not found Failed to install browsers Error: Installation process exited with code: 127 The e2e matrix passes because it never touches Playwright. Pin only browser-tests back to GitHub-hosted ubuntu-latest (a Playwright-supported OS where --with-deps works), same pattern already used for codeql and ci-failure-issue. Constraint: CodeBuild runner image lacks apt-get and is an unrecognized distro Rejected: Custom Playwright CodeBuild image | larger change, needs CodeBuild project image support Rejected: Manually install libs via yum in-job | fragile, guesses the distro Confidence: high Scope-risk: narrow Directive: browser-tests makes real AWS calls (sts + `agentcore dev`); if ubuntu-latest shared IPs trip the service WAF (the 403s #1715 was avoiding), revisit with a custom Playwright-capable CodeBuild image rather than reverting this pin Not-tested: whether ubuntu-latest reintroduces WAF 403s under current traffic --- .github/workflows/e2e-tests-full.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-tests-full.yml b/.github/workflows/e2e-tests-full.yml index 9129f5be1..8ab3b4e67 100644 --- a/.github/workflows/e2e-tests-full.yml +++ b/.github/workflows/e2e-tests-full.yml @@ -111,7 +111,13 @@ jobs: CDP_WALLET_SECRET: ${{ env.E2E_CDP_WALLET_SECRET }} run: npx vitest run --project e2e --shard=${{ matrix.shard }} browser-tests: - runs-on: codebuild-agentcore-e2e-${{ github.run_id }}-${{ github.run_attempt }} + # Pinned to GitHub-hosted ubuntu-latest, unlike the other jobs (#1715 moved + # everything to CodeBuild). Playwright's `install --with-deps` shells out to + # apt-get to install Chromium's OS libraries; the CodeBuild runner image has + # no apt-get and Playwright doesn't recognize the distro, so the step exits + # 127 ("apt-get: command not found"). ubuntu-latest is a Playwright-supported + # OS where --with-deps works. See #1715. + runs-on: ubuntu-latest environment: e2e-testing timeout-minutes: 30 steps: