Skip to content

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

Description

@robwilkerson

Well that's embarrassing...

PR #270 added a native ubuntu-24.04-arm leg to the release matrix, but I validated it in isolation (a CI-style build) instead of against a real release run that exercises the full packaging ecosystem. The gap: the failure only surfaces in the deb/pacman packaging step, which my isolated check never reached. So v2.9.0 shipped without Linux arm64 assets. That's on me.

What's happening

It looks like electron-builder only bundles an x86 fpm binary (fpm-1.9.3-2.3.1-linux-x86). The deb and pacman targets shell out to it. On the native aarch64 runner that x86 binary errors:

.../fpm-1.9.3-2.3.1-linux-x86/lib/ruby/bin.real/ruby: cannot execute binary file: Exec format error

The AppImage and tar.gz targets don't use fpm, so they build fine first; the job then dies at the deb step, failing the whole dist:linux run. Net result: no arm64 artifacts uploaded, while every other platform succeeds.

Evidence:

  • Failed run: Release Linux arm64 job in run 28545310913
  • v2.9.0 assets include mac-arm64 but no linux-arm64 .deb/.pacman/.AppImage/.tar.gz

Fix (incoming PR)

Install a native fpm on the arm64 leg and set USE_SYSTEM_FPM=true so electron-builder uses it; x64 keeps the bundled binary (it works there). I'm verifying the fix on my fork — first an isolated arm64 build, then a real v2.9.1 fork release with the arm64 assets actually attached, which I'll link here as proof before opening a new PR.

My apologies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions