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
{{ message }}
Repository navigation
Intel Mac (x64) builds: an unsigned local build works; should there be an official one?
#567
The macOS release is Apple Silicon only (README, electron-builder.yml mac.target), so Intel Mac users have no download. npm run desktop:dist
also can't help them, because it's tied to arm64 and to the maintainer's
signing and notarization setup.
What I tried
On my Intel Mac (x86_64, macOS 26.3, Xcode 26.1.1, Node 26.13.0), at v0.5.0
(713377f), I ran the steps in docs/desktop-release.md → Build pipeline.
I made no source changes.
Step
Result
npm ci
ok
Native renderer tests under Electron's Node
28/28 pass
npm run build
ok
node scripts/smoke-provider-runtime.mjs
pass
node scripts/build-server.mjs
ok
node scripts/smoke-server.mjs --electron
pass
Packaging (unsigned, no notarization):
CSC_IDENTITY_AUTO_DISCOVERY=false npx electron-builder --mac dmg zip --x64 \
--publish never -c.mac.notarize=false
This produced LearnHarness-0.5.0.dmg, LearnHarness-0.5.0-mac.zip, their
blockmaps, and latest-mac.yml. The app executable and its packaged native
modules (resvg-js-darwin-x64, @napi-rs/canvas-darwin-x64, sharp-darwin-x64) are all x86_64.
Two things I ran into:
--mac --x64 alone also builds arm64. I saw electron-builder package
the x64 targets and then start an arm64 package in dist/mac-arm64. My
reading of app-builder-lib's computeArchToTargetNamesMap is that the
config's arch: [arm64] is added on top of the CLI arch unless the CLI
names the targets. Naming them (--mac dmg zip --x64) builds x64 only.
x64 artifacts have no arch in their filenames (LearnHarness-0.5.0.dmg,
versus -arm64.dmg), because electron-builder leaves out the default arch.
Not tested
Opening and using the packaged app
The release workflow's post-package checks (packaged provider and demo
runtime)
Signing, notarization, and auto-update
Questions
Is Intel Mac support something you want, and if so, at what level?
(a) docs only: an unsigned local build path, or
(b) official signed releases?
For (b), where should it build? Native modules are built for the build
machine's architecture, and the icon needs macOS 26 + Xcode 26 actool.
The release workflow notes that Xcode 26's asset compiler crashes on
macOS 15. I'm not sure GitHub offers an Intel runner on macOS 26.
Cross-building on the arm64 runner would need x64 native packages.
For (b), scripts/verify-release.ts (11 assets, arm64-only Mac targets),
the artifactName for Mac, and latest-mac.yml with two architectures
would all need to change. Does that fit your release plans?
If (a) sounds useful, I can open a docs-only PR adding an "Intel Mac (x64),
unsigned local build" section to docs/desktop-release.md.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Problem
The macOS release is Apple Silicon only (README,
electron-builder.ymlmac.target), so Intel Mac users have no download.npm run desktop:distalso can't help them, because it's tied to arm64 and to the maintainer's
signing and notarization setup.
What I tried
On my Intel Mac (x86_64, macOS 26.3, Xcode 26.1.1, Node 26.13.0), at v0.5.0
(
713377f), I ran the steps indocs/desktop-release.md→ Build pipeline.I made no source changes.
npm cinpm run buildnode scripts/smoke-provider-runtime.mjsnode scripts/build-server.mjsnode scripts/smoke-server.mjs --electronPackaging (unsigned, no notarization):
This produced
LearnHarness-0.5.0.dmg,LearnHarness-0.5.0-mac.zip, theirblockmaps, and
latest-mac.yml. The app executable and its packaged nativemodules (
resvg-js-darwin-x64,@napi-rs/canvas-darwin-x64,sharp-darwin-x64) are all x86_64.Two things I ran into:
--mac --x64alone also builds arm64. I saw electron-builder packagethe x64 targets and then start an arm64 package in
dist/mac-arm64. Myreading of app-builder-lib's
computeArchToTargetNamesMapis that theconfig's
arch: [arm64]is added on top of the CLI arch unless the CLInames the targets. Naming them (
--mac dmg zip --x64) builds x64 only.LearnHarness-0.5.0.dmg,versus
-arm64.dmg), because electron-builder leaves out the default arch.Not tested
runtime)
Questions
machine's architecture, and the icon needs macOS 26 + Xcode 26
actool.The release workflow notes that Xcode 26's asset compiler crashes on
macOS 15. I'm not sure GitHub offers an Intel runner on macOS 26.
Cross-building on the arm64 runner would need x64 native packages.
scripts/verify-release.ts(11 assets, arm64-only Mac targets),the
artifactNamefor Mac, andlatest-mac.ymlwith two architectureswould all need to change. Does that fit your release plans?
If (a) sounds useful, I can open a docs-only PR adding an "Intel Mac (x64),
unsigned local build" section to
docs/desktop-release.md.All reactions