feat(#32): Packaging, signing, and CI #65

Merged
gronod merged 1 commits from feat/32-packaging-ci into milestone/m6-gamut-stage0-cgats-release 2026-09-09 23:00:16 +01:00
1 Commits
Author SHA1 Message Date
gronodandDevin <158243242+devin-ai-integration[bot]@users.noreply.github.com> 9a50057845 feat(#32): packaging CI, signed release build, and DMG workflow
macOS CI / build-and-test (pull_request) Canceled after 0s
macOS CI / package (pull_request) Canceled after 0s
macOS CI / build-and-test (push) Canceled after 0s
macOS CI / package (push) Canceled after 0s
- Add Gitea Actions macOS CI on a self-hosted runner.
  - Fetch Argyll sidecars before build.
  - Universal xcodebuild test with ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO.
  - CODE_SIGNING_ALLOWED=NO for local agent debug/test builds.
  - Optional release packaging job on milestone and version tags.
- Add scripts/package-release.sh:
  - fetch-argyll → generate project → Release universal build.
  - Sign .app with CODESIGN_IDENTITY (Developer ID) or ad-hoc.
  - Re-verify every bundled Argyll Mach-O sidecar with codesign -dvv.
  - Build DMG with dmgbuild and optional notarize/staple.
- Add scripts/verify-sidecar-signatures.sh for a hard-fail sidecar check.
- Add scripts/dmgbuild-settings.py with optional background art support.
- Update .gitignore to exclude *.dmg, *.zip, Release/, and notarization/.

Refs #32

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-09 22:56:02 +01:00