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