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
Owner

Closes #32.

  • Gitea Actions workflow for self-hosted macOS.
  • scripts/fetch-argyll.sh before build/test.
  • Universal xcodebuild with ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO.
  • CODE_SIGNING_ALLOWED=NO for debug/test local agent builds.
  • scripts/verify-sidecar-signatures.sh hard-fails on unsigned bundled Mach-O sidecars (codesign -dvv).
  • scripts/package-release.sh builds Release, signs (Developer ID if available), builds a DMG with dmgbuild, and optionally notarizes/staples when secrets are present.
  • scripts/dmgbuild-settings.py with optional background art support.
  • .gitignore excludes Vendor/Argyll (already ignored), *.dmg, *.zip, Release/, notarization/.
  • Sandbox remains off; no Vendor/Argyll or *.dmg committed.

Refs #32

Closes #32. - Gitea Actions workflow for self-hosted macOS. - `scripts/fetch-argyll.sh` before build/test. - Universal `xcodebuild` with `ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO`. - `CODE_SIGNING_ALLOWED=NO` for debug/test local agent builds. - `scripts/verify-sidecar-signatures.sh` hard-fails on unsigned bundled Mach-O sidecars (`codesign -dvv`). - `scripts/package-release.sh` builds Release, signs (Developer ID if available), builds a DMG with `dmgbuild`, and optionally notarizes/staples when secrets are present. - `scripts/dmgbuild-settings.py` with optional background art support. - `.gitignore` excludes `Vendor/Argyll` (already ignored), `*.dmg`, `*.zip`, `Release/`, `notarization/`. - Sandbox remains off; no `Vendor/Argyll` or `*.dmg` committed. Refs #32
gronod added the
Priority
High
2
Project/ICCery-v2Feature/DevOps
labels 2026-09-09 22:56:08 +01:00
gronod added 1 commit 2026-09-09 22:56:09 +01:00
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
9a50057845
- 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>
gronod merged commit bb96c66008 into milestone/m6-gamut-stage0-cgats-release 2026-09-09 23:00:16 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/iccery-v2-mac#65