You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: add 32-bit Linux (ia32 + armv7l) prebuilds (#7)
* ci: add 32-bit Linux (ia32 + armv7l) prebuilds
Old release lines (notably Electron's armv7l builds) still install
@electron-internal/extract-zip, but no 32-bit prebuild was being shipped,
so it failed to load on 32-bit Linux. Add cross-compiled prebuilds for
both 32-bit Linux targets:
- i686-unknown-linux-gnu (linux/ia32) via gcc-multilib
- armv7-unknown-linux-gnueabihf (linux/arm) via napi's --use-napi-cross
Both run in the shared CI build matrix (reused by the Release workflow via
workflow_call) and are flagged `cross: true` so the smoke-test step is
skipped — there are no native 32-bit runners and the host's 64-bit node
can't load a 32-bit .node.
napi's generated loader has no `process.arch === 'ia32'` branch under
Linux, so strip-binding-fallbacks.js now also splices that branch in;
otherwise the ia32 prebuild would be unreachable. package.json targets
and the check-prebuilds publish gate are updated to match.
* ci: generate linux/ia32 loader branch via @napi-rs/cli patch
Address review feedback: instead of splicing the missing 32-bit x86 Linux
branch into the generated binding.js from strip-binding-fallbacks.js, patch
@napi-rs/cli's loader template directly (via Yarn's patch protocol) so napi
emits the `process.arch === 'ia32'` branch natively, consistent with every
other arch (including its @electron-internal fallback, which the existing
strip step then removes).
strip-binding-fallbacks.js is reverted to its original single responsibility.
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments