fix(ci): add egl and gzip workaround #21
No reviewers
Labels
No labels
autorelease: pending
autorelease: tagged
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nick/announcemint!21
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ns/fixAppImageAgain"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fix AppImage EGL crash, Linux build deps, and Release Please versioning
Problem
WEBKIT_SKIA_ENABLE_CPU_RENDERING=1in Rustmain()was too late because EGL is initialized during library load.gio-2.0/librsvg-2.0pkg-config when building the bundle.package.jsonwas managed by Release Please;src-tauri/Cargo.tomlandsrc-tauri/tauri.conf.jsonwere not updated in release PRs.Solution
scripts/repack-appimage-gzip.sh) now ensuresWEBKIT_SKIA_ENABLE_CPU_RENDERING=1is set before the app runs: if AppRun is a script, inject the export after the shebang; if AppRun is a binary, replace it with a wrapper script that sets the var and execs the original binary. This is applied to every AppImage during repack (CI and release).APPIMAGE_EXTRACT_AND_RUN=1,NO_STRIP=1, and--verbosefor the Tauri AppImage build (Justfile andbuild-installers.yml). Fix the Justfile repack loop so the shell variable$fis not interpreted by Just (sh -c '...').glib2-develandlibrsvg2-develfor Fedora (Justfilegui-depsand README) sogio-2.0andlibrsvg-2.0are available for build and for the linuxdeploy GTK plugin.extra-filesso Release Please updatessrc-tauri/Cargo.toml(generic updater,# x-release-please-version) andsrc-tauri/tauri.conf.json(json updater,$.version). Adjustscripts/sync-version.jsso it preserves the trailing comment on the Cargo.toml version line when syncing frompackage.json.Changes
scripts/repack-appimage-gzip.sh: Injectexport WEBKIT_SKIA_ENABLE_CPU_RENDERING=1into script AppRun after the shebang; when AppRun is a binary, move it toAppRun.binand install a wrapper script that sets the var and execsAppRun.bin.appimagerecipe withAPPIMAGE_EXTRACT_AND_RUN=1,NO_STRIP=true, and--verbose; repack step runs viash -c 'for f in ...; do ./scripts/repack-appimage-gzip.sh "$f"; done'.gui-depsincludesglib2-develandlibrsvg2-devel..github/workflows/build-installers.yml: Linux AppImage job setsNO_STRIP: "1"and passes--verboseto the Tauri build; repack step renamed to "Repack AppImage (gzip + EGL workaround)".release-please-config.jsonaddsextra-filesforsrc-tauri/Cargo.toml(typegeneric) andsrc-tauri/tauri.conf.json(typejson,jsonpath: "$.version").src-tauri/Cargo.tomlversion line gets# x-release-please-version.scripts/sync-version.jskeeps trailing content (e.g. that comment) when updating the Cargo.toml version line.glib2-develandlibrsvg2-devel; EGL section documents running withWEBKIT_SKIA_ENABLE_CPU_RENDERING=1for existing AppImages and that release builds use the repack for the EGL workaround.main(), setWEBKIT_SKIA_ENABLE_CPU_RENDERING=1on Linux when unset (fallback for non-AppImage runs; AppImage relies on the repack).