mirror of
https://github.com/getpaseo/paseo.git
synced 2026-07-29 12:01:31 +00:00
The macOS publish matrix had each arch run electron-builder with --publish always, so each runner uploaded its own latest-mac.yml to the GitHub release the moment it finished. The slower arch clobbered the faster one, leaving a window (typically 1-3 minutes) where the live manifest contained only one arch's files[]. Apple Silicon clients polling during that window could install the x64 build, ending up under Rosetta. Also closed the related window where finalize-rollout stamped releaseDate and rolloutHours after the merged manifest was already public — auto-updater treats missing rollout fields as "admit", so 100% of stable users could grab a release before staged rollout kicked in. Now every build runs --publish never. Each platform job uploads its non-yml artifacts directly via gh release upload --clobber, and stages its manifest as an Actions artifact. The renamed finalize-rollout job downloads all manifest artifacts, merges mac arm64+x64, stamps rollout metadata, validates, and uploads every manifest in one pass. Public manifests are never visible in an unmerged or unstamped state. Refs #555.