ci: fix Linux arm64 release by using a native fpm#308
Merged
Conversation
electron-builder bundles only an x86 fpm binary, so the deb/pacman targets fail with 'Exec format error' on the native ubuntu-24.04-arm runner. Install a native fpm on the arm64 leg and export USE_SYSTEM_FPM to $GITHUB_ENV there so electron-builder uses it. Scope the flag to arm64: defining USE_SYSTEM_FPM at all (even empty) makes electron-builder use a system fpm, which the x64 runner does not have.
adibhanna
approved these changes
Jul 2, 2026
adibhanna
left a comment
Contributor
There was a problem hiding this comment.
Approving. 🚀 Clean, correctly-scoped fix — keeping USE_SYSTEM_FPM inside the arm64 if (exported via $GITHUB_ENV) so x64 stays on the working bundled binary is exactly the right call; that subtlety is easy to get wrong.
And thank you for the verification: a real fork release (v2.9.2) with the arm64 .deb/.pacman/.AppImage/.tar.gz actually attached is precisely what closes the gap that let this slip through — so, genuinely, no apology needed at all. Great catch, precise diagnosis, textbook fix. Merging now; it ships with v2.10.0. 🙏
adibhanna
added a commit
that referenced
this pull request
Jul 2, 2026
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.
Fixes #307
Problem
electron-builder bundles only an x86
fpmbinary, which thedebandpacmantargets shell out to. On the nativeubuntu-24.04-armrunner it can't execute:AppImageandtar.gzdon't usefpm, so they build first and the job only dies at thedebstep, failing the wholedist:linuxrun. The result: v2.9.0 shipped with no Linux arm64 assets while every other platform succeeded.Fix
On the arm64 leg only, install a native
fpmand setUSE_SYSTEM_FPM=trueso electron-builder packagesdeb/pacmanwith it. The x64 leg is unchanged and keeps using the bundled binary.Verification
Full release matrix run on my fork. Linux x64, Linux arm64, and Windows all built and uploaded; macOS fails only because my fork lacks the code-signing secrets, which is unrelated to this change.
.deb/.pacman/.AppImage/.tar.gzattached: https://github.com/robwilkerson/zennotes/releases/tag/v2.9.2