Files
cc-switch/.github
Jason ee66be2222 ci(release): build macOS arches in parallel and add manual dry runs
- 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.
2026-10-05 12:18:17 +08:00
..
2026-07-07 16:02:16 +08:00