Skip to content

ci: build and release macOS Intel (x86_64) bundle - #655

Open
XueyanZhang wants to merge 1 commit into
nashsu:mainfrom
XueyanZhang:ci/macos-intel-build
Open

ci: build and release macOS Intel (x86_64) bundle#655
XueyanZhang wants to merge 1 commit into
nashsu:mainfrom
XueyanZhang:ci/macos-intel-build

Conversation

@XueyanZhang

Copy link
Copy Markdown

Problem

The Build & Release matrix only builds an Apple Silicon (aarch64-apple-darwin) macOS bundle, so every release has shipped no Intel .dmg — even though README.md already advertises "macOS (ARM + Intel)" and ".dmg (Apple Silicon + Intel)". Intel Mac users have had nothing to download.

Change

Add a second macOS matrix row that produces a native x86_64 build:

  • Runs on macos-13, the last GitHub-hosted Intel runner, so it's a native build (not a cross-compile from Apple Silicon), matching how the bundle was validated locally.
  • Before bundling, swaps the committed arm64 libpdfium.dylib for the already-committed libpdfium-x86_64.dylib, mirroring the existing Use ARM64 pdfium binary (Ubuntu ARM only) step. This is required because tauri.macos.conf.json always bundles pdfium/libpdfium.dylib, whose committed content is arm64 — without the swap an x86_64 app would ship an arm64 pdfium and fail to load PDFs at runtime.
  • The swap runs after the Verify PDFium binary checksums step, so SHA256SUMS still validates the committed (arm64) libpdfium.dylib.

The existing Install protoc (macOS) step already matches macos-*, so the new row gets protoc for free. Tauri names the two artifacts distinctly (*_aarch64.dmg vs *_x64.dmg), so there is no release-asset collision. No Tauri updater is configured (the app checks the GitHub Releases API directly), so a second macOS artifact needs no latest.json/signature changes.

Verification

Built locally on an Intel Mac with npm run tauri build -- --target x86_64-apple-darwin (with the pdfium swap applied):

  • Bundle: LLM Wiki_0.6.7_x64.dmg
  • Contents/MacOS/llm-wikiMach-O 64-bit executable x86_64
  • Contents/Frameworks/libpdfium.dylibMach-O 64-bit dynamically linked shared library x86_64

🤖 Generated with Claude Code

The build matrix only produced an Apple Silicon (aarch64) macOS
bundle, so releases shipped no Intel .dmg even though the README
already promises "macOS (ARM + Intel)". Add a native x86_64 build on
the macos-13 Intel runner, swapping the committed arm64
libpdfium.dylib for the x86_64 one before bundling (mirroring the
Ubuntu ARM swap) so the bundled framework matches the app.

Verified locally with a native x86_64 build: produces
LLM Wiki_0.6.7_x64.dmg whose main binary and bundled
Frameworks/libpdfium.dylib are both x86_64.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant