#1263: Build Linux AppImage with modern appimagetool and zsync updates#1265
Open
Maxnflaxl wants to merge 2 commits into
Open
#1263: Build Linux AppImage with modern appimagetool and zsync updates#1265Maxnflaxl wants to merge 2 commits into
Maxnflaxl wants to merge 2 commits into
Conversation
Switch the AppImage signing/packing step from the obsolete AppImageKit appimagetool to the modern AppImage/appimagetool build, so the embedded runtime no longer requires libfuse2 on end-user machines. Pack with zsync update information so clients can do delta updates, and produce the AppImage directly under its final -x86_64 release name (the .zsync binds to that filename, so the previous build-then-rename would break it).
Setting APPIMAGE_EXTRACT_AND_RUN for the whole step made the final --appimage-signature verification launch the Beam Qt GUI (which aborts headless in CI) instead of letting the runtime print the signature. Apply the flag only to the appimagetool invocation that needs it, and drop the signature print since appimagetool already logs that signing succeeded.
in the CI, as final step of the build procedure, you need as separate step, you need something to download such artifacts and automatically add them to the created tag. Below, an example with two different actions I use (you can choose the one that fits better): The above creates two tags:
Again, use the one that you feel its better. |
ivan-hc
added a commit
to ivan-hc/AM
that referenced
this pull request
Jul 4, 2026
github-actions Bot
added a commit
to pkgforge-community/AM-HF-SYNC
that referenced
this pull request
Jul 4, 2026
…W/beam-ui#1265 (sync lists) [17eea9757bc91f58f49f6211f0c3b06f389fac0c]] ⌚
github-actions Bot
pushed a commit
to pkgforge-community/AM-HF-SYNC
that referenced
this pull request
Jul 4, 2026
…W/beam-ui#1265 (sync lists) [17eea9757bc91f58f49f6211f0c3b06f389fac0c]] ⌚
github-actions Bot
pushed a commit
to pkgforge-community/AM-HF-SYNC
that referenced
this pull request
Jul 4, 2026
…W/beam-ui#1265 (sync lists) [17eea9757bc91f58f49f6211f0c3b06f389fac0c]] ⌚
github-actions Bot
added a commit
to pkgforge-community/AM-HF-SYNC
that referenced
this pull request
Jul 4, 2026
…W/beam-ui#1265 (sync lists) [17eea9757bc91f58f49f6211f0c3b06f389fac0c]] ⌚
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses #1263.
Context
The Linux AppImage is currently packed/signed with the obsolete
AppImageKitappimagetool, whose embedded runtime requires libfuse2 at runtime — a library that is no longer maintained (since 2019) and no longer shipped by default on many distributions. The issue reporter (@ivan-hc, maintainer of the AM AppImage package manager) recommended migrating to the modernAppImage/appimagetool.Changes (
.github/workflows/build.yml)appimagetool. The Sign AppImage step now downloads fromAppImage/appimagetool(continuous) instead ofAppImage/AppImageKit, so the embedded runtime is the modern static one and end users no longer need libfuse2. The new tool requiresARCH=x86_64, andAPPIMAGE_EXTRACT_AND_RUN=1is set to avoid FUSE self-mount issues for the tooling in CI.appimagetoolnow packs with-u "gh-releases-zsync|BeamMW|beam-ui|latest|*x86_64.AppImage.zsync", emitting a.zsyncso clients can perform delta updates of the ~200 MB image. The.zsyncis added to the uploaded artifact.-x86_64asset naming. The published AppImage (and its checksum/zsync) is now namedBeam-Wallet…-<version>-x86_64.AppImage. A.zsyncis bound to the exact filename it is generated against, so the AppImage is now produced directly under its final name in the Sign step rather than being renamed afterward. This-x86_64suffix is per @ivan-hc's recommendation and also aligns with the AM install script, which selects the x86_64 asset by matching onx86_64.Not included (manual release step)
Releases are published manually, so shipping the raw
.AppImageon the GitHub Release (rather than the CI artifact.zip) remains a manual step. This workflow now provides the raw.AppImage, its.zsync, and the checksum in the artifact so they can be attached directly.Verification
CI-only change — verification is the
Buildworkflow's ubuntu job completing through the AppImage → Sign → Collect steps. The libfuse2-free runtime behaviour is a property of the new appimagetool and is validated on end-user machines rather than by the build itself.