From 6853897d00127e436a3159ef43775a3135a427d1 Mon Sep 17 00:00:00 2001 From: Kristian Wind Date: Tue, 18 Aug 2026 10:05:29 +0200 Subject: [PATCH] ci: install WebKit as well, for the one test that needs it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `webkit-forms` project was added to the Playwright config and CI was not told, so it installed Chromium and the one WebKit test died on a missing executable — 26 passed, 1 failed, and the failure said nothing about the app. It is one test on purpose. The suite stays Chromium, because running it in three engines finds the same breakage three times; focus is the exception, and Safari ignoring `autofocus` on anything inserted after load is what made "sections have no function" true from inside Safari. Co-Authored-By: Claude Opus 5 --- .github/workflows/ci.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4a54ad..17644aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,12 +79,18 @@ jobs: working-directory: web run: npm ci --no-audit --no-fund - # Chromium only. A smoke test exists to catch a build that does not work at - # all; running it three times in three engines finds the same breakage three - # times and costs three times as much. - - name: Install Chromium + # Chromium for the suite, WebKit for one test. + # + # A smoke test exists to catch a build that does not work at all, and running + # the whole thing in three engines finds the same breakage three times for + # three times the cost. Focus is the exception, and it took a real report to + # learn it: Safari ignores `autofocus` on anything inserted after the page has + # loaded, so every inline form in the app opened with no cursor in it. WebKit + # here is the same engine Safari is, and `webkit-forms` in the Playwright + # config greps a single test out of the suite to run in it. + - name: Install browsers working-directory: web - run: npx playwright install --with-deps chromium + run: npx playwright install --with-deps chromium webkit # The suite builds the frontend, embeds it and starts the real binary — see # playwright.config.js. There is nothing to build here first.