mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-10-26 01:34:51 +08:00
- macOS used one runner that compiled aarch64 and x86_64 one after the other inside `tauri build --target universal-apple-darwin`, and every notarization retry recompiled both. Now `macos-binary` compiles each arch on its own runner with --no-bundle, and `macos-release` merges them with lipo and runs `tauri bundle --target universal-apple-darwin --bundles app`. Only that bundle/sign/notarize step is retried. The styled DMG from create-dmg, the zip and the updater tar.gz are made as before. `macos-binary` carries the release environment, so a release is still approved once at the start; `macos-release` must not, or it would wait for a second approval halfway. - The Tauri signing key preparation moves into a composite action shared by the Linux/Windows matrix and `macos-release`. Its output matches the old inline script for every key format tried. - Windows x64 builds only the MSI. Tauri also built an NSIS setup.exe that was never uploaded; the portable zip still comes from the exe. - latest.json is generated inside publish-release from the downloaded signatures, before the release is created, so a missing platform fails without leaving a half-published release. The assemble-latest-json job is gone. - workflow_dispatch runs the full build, signing and notarization as a dry run, with assets kept as workflow artifacts. Only a tag push publishes, even when a dispatch is started on a tag; the concurrency group includes the event name so a dry run cannot cancel a release in progress; and `/` in branch names becomes `-` in asset file names. - Quote the $GITHUB_OUTPUT redirects that shellcheck flagged.