diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f193c2c..9226481 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -105,11 +105,21 @@ commits: perf: extends: .node-job stage: perf - # Lighthouse CI drives a real Chrome instance. Playwright's image is - # the canonical "Node + browsers" CI image and is already on our - # roadmap for the ADR-0016 axe-core e2e — single image covers both - # uses once the a11y suite lands. - image: mcr.microsoft.com/playwright:v1.55.0-jammy + # Lighthouse CI drives a real Chrome via chrome-launcher, which + # probes the PATH / CHROME_PATH for a standard Chrome/Chromium + # binary. The Playwright image bundles Chromium under /ms-playwright + # with a non-standard name chrome-launcher cannot discover, so we + # stay on the base Node image and apt-install Debian's `chromium` + # (lands at /usr/bin/chromium). The future ADR-0016 axe-core e2e job + # — which drives Playwright directly — will use the Playwright image + # instead: the two tools want different things, so they get + # different images rather than one image that serves both poorly. + image: node:24-bookworm + variables: + CHROME_PATH: /usr/bin/chromium + before_script: + - !reference [.node-job, before_script] + - apt-get update -qq && apt-get install -y -qq --no-install-recommends chromium # Skip on Renovate MRs (same rationale as commits + the perf signal # on a dep bump is essentially zero). Push events on `main` still # run perf — we catch regressions immediately post-merge, not