Skip to content

ci: fix Linux arm64 release by using a native fpm#308

Merged
adibhanna merged 1 commit into
ZenNotes:mainfrom
robwilkerson:fix/arm64-fpm
Jul 2, 2026
Merged

ci: fix Linux arm64 release by using a native fpm#308
adibhanna merged 1 commit into
ZenNotes:mainfrom
robwilkerson:fix/arm64-fpm

Conversation

@robwilkerson

Copy link
Copy Markdown
Contributor

Fixes #307

Problem

electron-builder bundles only an x86 fpm binary, which the deb and pacman targets shell out to. On the native ubuntu-24.04-arm runner it can't execute:

cannot execute binary file: Exec format error

AppImage and tar.gz don't use fpm, so they build first and the job only dies at the deb step, failing the whole dist:linux run. 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 fpm and set USE_SYSTEM_FPM=true so electron-builder packages deb/pacman with 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.

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.
@robwilkerson
robwilkerson requested a review from adibhanna as a code owner July 2, 2026 01:55

@adibhanna adibhanna left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
adibhanna merged commit adfdbd0 into ZenNotes:main Jul 2, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linux arm64 release job fails: bundled fpm is x86-only (deb/pacman "Exec format error")

2 participants