The Windows desktop build now succeeds (artifact builds + uploads), but the job was marked failed on the post-job cache *save*: build-binaries (windows-x64) and build-desktop-windows share runner.os/arch and thus the same cache key, so concurrent saves hit "unable to reserve cache ... another job may be creating this cache." Adding github.job to the key gives each job its own cache and eliminates the race. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.9 KiB
1.9 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-gnubuild 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-builderdirectly viapnpm execinstead of thedist:*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 --arm64flags. - The desktop build spawns workspace
.cmdbins with a shell on Windows, fixing thespawn EINVALfailure. - The desktop package declares an
authorwith email so the Linux.debtarget (fpm) can build. - The Linux AppImage verify step matches electron-builder's actual x64 output name (
-linux-x86_64.AppImage). @types/nodeis pinned workspace-wide via a pnpm override so the desktop/plugin-sdk build is deterministic (a stale transitive@types/nodelacking globalfetch/Responsetypes intermittently broke the Windows desktop build).- The
build-exe-crosstests 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 bytest-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.