From d3d97bfb77377a73c2149f007847d2a1977bee3c Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 26 Oct 2026 13:41:52 +0000 Subject: [PATCH] ci: install WebKitWebDriver from webkitgtk-webdriver on Ubuntu 26.04 ubuntu-latest has started handing out ubuntu-26.04 images, where webkit2gtk-driver is gone ("no installation candidate"; replaced by webkitgtk-webdriver, which still ships /usr/bin/WebKitWebDriver). The desktop launch smoke failed at apt-get on PR #117's first run; #114's green run the day before was on ubuntu-24.04. Pick the package by whether apt has a candidate for the new name: `apt-cache show` succeeds on 24.04 too, which knows the name and has nothing to install under it. Checked against both releases' indexes: 24.04 picks webkit2gtk-driver 2.52.6, 26.04 picks webkitgtk-webdriver 2.52.0, and every other package in the step has a 26.04 candidate. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_019jHjgRysB6GajV3oDppruf (cherry picked from commit 68c0a5ea468259bcdedc2d29d33b748984a82837) --- .github/workflows/desktop.yml | 12 +++++++++++- desktop/ci/launch-smoke.sh | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/desktop.yml b/.github/workflows/desktop.yml index 7070eb4..3c3ec37 100644 --- a/.github/workflows/desktop.yml +++ b/.github/workflows/desktop.yml @@ -55,13 +55,23 @@ jobs: # tray), plus what the smoke itself uses: Xvfb for a display, dbus for a # session bus, WebKitWebDriver for tauri-driver, ImageMagick to capture # the screen. + # + # WebKitWebDriver's package is webkitgtk-webdriver from Ubuntu 26.04 and + # webkit2gtk-driver before it, and ubuntu-latest moves between the two a + # runner at a time. Install whichever this image has a candidate for: + # `apt-cache show` is no test, since 24.04 knows the new name and has + # nothing to install under it. - name: Linux dependencies run: | sudo apt-get update + driver=webkit2gtk-driver + if apt-cache policy webkitgtk-webdriver | grep 'Candidate: [0-9]' >/dev/null; then + driver=webkitgtk-webdriver + fi sudo apt-get install -y --no-install-recommends \ libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev \ libssl-dev libayatana-appindicator3-dev librsvg2-dev \ - xvfb x11-utils dbus-x11 webkit2gtk-driver imagemagick jq + xvfb x11-utils dbus-x11 "$driver" imagemagick jq - name: Stage the fleet sidecar run: | npm --prefix collector ci diff --git a/desktop/ci/launch-smoke.sh b/desktop/ci/launch-smoke.sh index 6c4f385..09960f2 100755 --- a/desktop/ci/launch-smoke.sh +++ b/desktop/ci/launch-smoke.sh @@ -154,7 +154,7 @@ fi echo "== half 2: drive the settings window through tauri-driver" command -v tauri-driver >/dev/null || fail "tauri-driver is not on PATH" -command -v WebKitWebDriver >/dev/null || fail "WebKitWebDriver is not on PATH (apt: webkit2gtk-driver)" +command -v WebKitWebDriver >/dev/null || fail "WebKitWebDriver is not on PATH (apt: webkitgtk-webdriver, or webkit2gtk-driver before Ubuntu 26.04)" tauri-driver --port 4444 >"$out/tauri-driver.log" 2>&1 & driver=$! for _ in $(seq 1 50); do curl -fsS http://127.0.0.1:4444/status >/dev/null 2>&1 && break; sleep 0.2; done