ci(desktop) [DO NOT MERGE]: drop x64 darwin build to dodge parallel-arch DMG bugs#731
Conversation
Two distinct failure modes when building --arch="x64,arm64" together, both surface only with multi-arch parallel builds: 1. `hdiutil convert failed - Resource temporarily unavailable` (EAGAIN from contention on the runner's filesystem) 2. `Target already exists` from appdmg (known unfixed forge bug — electron/forge#3517: maker-dmg fails when run in parallel) The sync hook from PR #730 mitigated #1 but exposed #2. With one arch there is no parallel race, so both go away. DMG stays. Tradeoff: Intel Mac users can't install or autoupdate. Apple Silicon share dominates in 2026, so the cost is small for a 0.x.x technical preview. We can add Intel back later (universal binary or serialized arch builds) when there's actual demand. Also bump desktop/package.json version to 0.0.2-arm64-test.1 for the CI verification run so this test prerelease lands on its own tag and doesn't touch 0.0.1 production releases. Will be reset before final merge.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 7 Skipped Deployments
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
WalkthroughDesktop app release workflow and version updated. The macOS publish step now targets ARM64 architecture only instead of x64,arm64, and the package version is bumped to reflect this test release. ChangesARM64-only Desktop Release
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…elease notes Two related cleanups now that macOS builds are arm64-only (PR gridaco#731): **1. Downloads page — remove no-longer-built macOS variants.** - `editor/app/(www)/(downloads)/downloads/downloads.ts` - Drop `mac_dmg_x64` and `mac_dmg_universal` from the DownloadLinks interface and from `getLinks` / `getLinks_v001`. - Drop `"universal"` from the Arch union; tighten the mac distro config to arm64 only. - Switch the per-platform default for `"mac"` from `mac_dmg_universal` → `mac_dmg_arm64`. - `editor/app/(www)/(downloads)/downloads/page.tsx` - Remove the "macOS (Universal)" and "macOS (Intel-based Macs)" buttons. Keep "macOS (Apple Silicon)". The v0.0.1 release still has the legacy universal/x64 dmg assets so existing direct links keep working; the page just doesn't surface them. New releases won't include those artifacts. **2. Release notes templating.** GitHub Releases have no built-in body template, and forge's publisher-github doesn't expose `releaseNotes`. New releases land with an empty body unless we templatize it ourselves. - New file `.github/release-notes/desktop.md` — the canonical body for desktop releases, with a `{{version}}` placeholder. Lives in `.github/` because it's release-process content, not desktop app source. - New step `Update release notes from template` in the macOS row of the release workflow. After publish creates the tag, the step interpolates the template and applies it via `gh release edit`. Runs once per release (gated to the macOS matrix row).
This PR is for CI verification only — do NOT merge as-is (contains a test version bump). Once verified, the workflow change will land in a clean PR.
Hypothesis
Both DMG failure modes we've seen are parallel-arch races:
hdiutil convert failed - Resource temporarily unavailable(EAGAIN, filesystem contention)Target already existsfrom appdmg (electron/forge#3517, known unfixed)PR #730's sync hook mitigated the EAGAIN but exposed the next layer. With only one arch, neither race can fire.
Change
That's it. DMG maker stays. Macos-26 runner stays.
Tradeoff
Intel Mac users can't install or autoupdate. In 2026, Apple-Silicon share dominates and our audience for a 0.x.x technical-preview canvas tool skews heavily to that cohort. We can add Intel back later when telemetry shows demand — either as a universal binary or as a serialized second
pnpm makeinvocation that avoids the parallel race.Verify
Lands on a clearly-test prerelease tag
0.0.2-arm64-test.1.update.electronjs.orgskips prereleases by default, so existing users aren't affected.If the macOS job completes through to publish:
0.0.2-arm64-test.1release + tagIf it fails:
MakerDMGSummary by CodeRabbit
0.0.2-arm64-test.1