fix: split Linux CI into per-arch jobs to prevent native module mismatch#19
Merged
Conversation
… remove unused express Addresses a crash (EXC_BREAKPOINT / NSRangeException) triggered by macOS display reconfiguration in Chromium's native NSView layout code. Also eliminates 11 npm audit vulnerabilities. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tch (#18) electron-builder rebuilds native modules when switching architectures for the first target type (AppImage), but reuses the last-compiled binaries for subsequent targets (deb). This caused the amd64 .deb to ship with arm64 better_sqlite3.node. Splitting into separate x64/arm64 runners ensures each package gets natively compiled modules. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
electron-builder doesn't accept --arch as a flag. The correct syntax is --x64 or --arm64 directly. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e host arch The --x64/--arm64 CLI flags don't restrict electron-builder to a single arch — it still builds all arches listed in package.json config. Instead, remove the arch arrays from the Linux target config so electron-builder defaults to the host architecture. Combined with the per-arch runner split, each job natively builds only its own arch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
Fixes #18
ubuntu-latest(x64) andubuntu-24.04-arm(arm64)better-sqlite3andnode-ptybinaries match the package labelRoot cause
When electron-builder builds multiple targets (AppImage + deb) for multiple architectures in a single invocation, it only rebuilds native modules when switching arches for the first target type. The second target type reuses whatever was last compiled. This caused the
amd64.deb to ship witharm64better_sqlite3.node.Test plan
ubuntu-latest(x64) andubuntu-24.04-arm(arm64)filereports x86_64 forbetter_sqlite3.nodefilereports aarch64 forbetter_sqlite3.node🤖 Generated with Claude Code