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.
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:
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:
Fix (incoming PR)
Install a native fpm on the arm64 leg and set
USE_SYSTEM_FPM=trueso 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 realv2.9.1fork release with the arm64 assets actually attached, which I'll link here as proof before opening a new PR.My apologies.