fix(ci): pin WebKit to 2.44.0-2 to fix blank-webview regression in Linux builds#1311
Conversation
The ubuntu-24.04 runners can get newer webkit2gtk versions which cause blank webviews in the AppImage builds. Pin to the known-working 2.44.0-2 versions, matching the fix already applied in ActivityWatch/aw-tauri#99. Fixes: ActivityWatch/aw-tauri#97
Greptile SummaryThis PR pins
Confidence Score: 3/5Safe to merge for x86_64 Linux and non-Linux targets, but the arm64 Linux build path is unverified and may break. The webkit version pin was validated on x86_64 (aw-tauri#99) and correctly addresses the blank-webview regression. However, the matrix includes .github/workflows/build-tauri.yml — specifically the pinned webkit install block and its interaction with the ubuntu-24.04-arm matrix entry. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Install APT dependencies - Linux] --> B[apt-get install unversioned deps\nlibgtk-3-dev, libayatana, librsvg2, libsoup, xdg-utils]
B --> C[apt-get install pinned WebKit\nlibwebkit2gtk-4.1-0=2.44.0-2\nlibwebkit2gtk-4.1-dev=2.44.0-2\nlibjavascriptcoregtk-4.1-0=2.44.0-2\nlibjavascriptcoregtk-4.1-dev=2.44.0-2\ngir1.2-javascriptcoregtk-4.1=2.44.0-2\ngir1.2-webkit2-4.1=2.44.0-2]
C --> D{Version available\nin apt sources?}
D -->|Yes - x86_64| E[Build succeeds]
D -->|No - arm64 or\nversion superseded| F[apt-get fails\nBuild broken]
Reviews (1): Last reviewed commit: "fix(ci): pin WebKit to 2.44.0-2 to fix b..." | Re-trigger Greptile |
| sudo apt-get install -y \ | ||
| libwebkit2gtk-4.1-0=2.44.0-2 \ | ||
| libwebkit2gtk-4.1-dev=2.44.0-2 \ | ||
| libjavascriptcoregtk-4.1-0=2.44.0-2 \ | ||
| libjavascriptcoregtk-4.1-dev=2.44.0-2 \ | ||
| gir1.2-javascriptcoregtk-4.1=2.44.0-2 \ | ||
| gir1.2-webkit2-4.1=2.44.0-2 |
There was a problem hiding this comment.
arm64 runner may not resolve version
2.44.0-2
The matrix includes ubuntu-24.04-arm, but the version pin =2.44.0-2 was validated against x86_64 in aw-tauri#99. Ubuntu arm64 packages often carry an ubuntu1 revision suffix (e.g. 2.44.0-2ubuntu1) and may not carry the exact bare 2.44.0-2 version string. If that version isn't present in the arm64 apt sources after apt-get update, every arm Linux build will fail at this step with "Version '2.44.0-2' for 'libwebkit2gtk-4.1-dev' was not found". It's worth confirming the exact available version on ubuntu-24.04-arm (e.g. via apt-cache madison libwebkit2gtk-4.1-dev) before merging.
| sudo apt-get install -y \ | ||
| libwebkit2gtk-4.1-0=2.44.0-2 \ | ||
| libwebkit2gtk-4.1-dev=2.44.0-2 \ | ||
| libjavascriptcoregtk-4.1-0=2.44.0-2 \ | ||
| libjavascriptcoregtk-4.1-dev=2.44.0-2 \ | ||
| gir1.2-javascriptcoregtk-4.1=2.44.0-2 \ | ||
| gir1.2-webkit2-4.1=2.44.0-2 |
There was a problem hiding this comment.
Missing
--allow-downgrades flag
If the ubuntu-24.04 runner image is ever updated to pre-install a newer webkit runtime library (the -0 runtime packages are more likely candidates than the -dev packages), apt-get install with a lower pinned version will fail without --allow-downgrades. Adding the flag makes the pin robust to that scenario.
| sudo apt-get install -y \ | |
| libwebkit2gtk-4.1-0=2.44.0-2 \ | |
| libwebkit2gtk-4.1-dev=2.44.0-2 \ | |
| libjavascriptcoregtk-4.1-0=2.44.0-2 \ | |
| libjavascriptcoregtk-4.1-dev=2.44.0-2 \ | |
| gir1.2-javascriptcoregtk-4.1=2.44.0-2 \ | |
| gir1.2-webkit2-4.1=2.44.0-2 | |
| sudo apt-get install -y --allow-downgrades \ | |
| libwebkit2gtk-4.1-0=2.44.0-2 \ | |
| libwebkit2gtk-4.1-dev=2.44.0-2 \ | |
| libjavascriptcoregtk-4.1-0=2.44.0-2 \ | |
| libjavascriptcoregtk-4.1-dev=2.44.0-2 \ | |
| gir1.2-javascriptcoregtk-4.1=2.44.0-2 \ | |
| gir1.2-webkit2-4.1=2.44.0-2 |
|
Seems to build fine on arm, merging. |
Summary
Pins the webkit2gtk and javascriptcoregtk packages to version
2.44.0-2in thebuild-tauri.ymlLinux APT dependency installation step.The ubuntu-24.04 runners can resolve newer webkit2gtk versions that cause blank webviews in the resulting AppImage builds. This is the same fix already applied in ActivityWatch/aw-tauri#99 for the standalone aw-tauri release workflow; this PR brings the parent repo's build-tauri.yml in sync.
Before: unpinned
libwebkit2gtk-4.1-devandlibjavascriptcoregtk-4.1-dev— vulnerable to whatever the latest ubuntu-24.04 packages resolve to.After: pinned
=2.44.0-2for all webkit/javascriptcoregtk packages, plus adds the runtime libs (libwebkit2gtk-4.1-0,libjavascriptcoregtk-4.1-0) and GIR packages that aw-tauri#99 identified as needed.Related