Files
fusion/.changeset/fix-release-binary-publishing.md
gsxdsm cf95d3636f ci(release): drop macOS Intel (bun-darwin-x64) from binary matrix
macos-13 runners are too scarce — the darwin-x64 leg sat queued for hours
and blocked the release publish job (which needs all build legs). Ship the
CLI Apple-Silicon-only for macOS; desktop macOS DMG/ZIP stays universal.
Removed from release.yml + test-release.yml matrices, updated ci-workflow
assertions (5→4 targets) and RELEASING.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 10:06:51 -07:00

2.2 KiB

@runfusion/fusion
@runfusion/fusion
patch

Fix the Binary Release workflow so platform binaries publish to GitHub Releases again:

  • The release job now tolerates a single failing build leg instead of being skipped, which previously suppressed all assets.
  • The node_modules cache key includes CPU arch (so arm64 runners no longer restore x64 native deps, fixing the @rollup/rollup-linux-arm64-gnu build crash) and the job id (so same-OS/arch jobs don't race on one key and fail the post-job cache save).
  • The macOS and Windows CLI signing steps are skipped gracefully when their certificate secrets are absent, so unsigned binaries still publish.
  • Desktop packaging now invokes electron-builder directly via pnpm exec instead of the dist:* scripts: pnpm leaked the -- separator into script args, which made electron-builder ignore --publish never (auto-publishing to the wrong repo and 404ing) and drop the Linux --x64 --arm64 flags.
  • The desktop build spawns workspace .cmd bins with a shell on Windows, fixing the spawn EINVAL failure.
  • The desktop package declares an author with email so the Linux .deb target (fpm) can build.
  • The Linux AppImage verify step matches electron-builder's actual x64 output name (-linux-x86_64.AppImage).
  • @types/node is pinned workspace-wide via a pnpm override so the desktop/plugin-sdk build is deterministic (a stale transitive @types/node lacking global fetch/Response types intermittently broke the Windows desktop build).
  • The build-exe-cross tests that cross-compile platform binaries are now opt-in (FUSION_TEST_BUILD_EXE=1) instead of auto-running on every CI run; native per-platform binary builds remain covered by test-release.yml.
  • A workflow_dispatch run now builds and uploads binaries as artifacts for validation without creating a release (release creation is gated to tag pushes).
  • The dependency-graph plugin build uses a cross-platform copy step that no longer breaks the Windows desktop build.
  • The macOS Intel (bun-darwin-x64) CLI binary is no longer built/shipped — macos-13 runners are too scarce to build reliably and were blocking releases. The macOS CLI is now Apple-Silicon-only; the desktop macOS DMG/ZIP remains universal.