Add signed notarized macOS release pipeline#110
Conversation
Expose a deterministic metadata-only provider registry through JSON and text output, covering every current Apple-data command family with maturity, source, permission, sensitivity, capability, and polling declarations. Document the v1 compatibility policy.\n\nCloses #89.
Expose a versioned external manifest derived from the provider registry, document bounded local wrapper policy, and cover it with synthetic contract tests. Co-authored-by: Hermes <Hermes-omt@protonmail.com>
Build universal macOS DMGs with stable code identity, notarization, stapling, checksums, release evidence, and governed secrets. Reconcile v0.2 versioning, bootstrap release policy, onboarding, installation, and security decisions.
Hermes-omt
left a comment
There was a problem hiding this comment.
Review deferred: this head is based on 2b0bcc6a27ca2d3c84755bc21f601c33db8251fd, while current main is d7f88dc01bd283b53c55fa59ed63f43f212a50a5. Update the PR branch onto current main and allow CI to complete for the resulting head before requeueing substantive review. An isolated Hermes node checkout at the requested head was completed; no approval or change request is issued against the stale head.
Hermes-omt
left a comment
There was a problem hiding this comment.
Blocking: .github/workflows/release.yml compares swift run icloud-cli --version with icloud-cli $version, but the current CLI emits only 0.2.0. Verified on this head: actual <0.2.0>, expected <icloud-cli 0.2.0>. Tag and dispatch releases therefore exit in Resolve version before signing. Compare against $version (or intentionally change the CLI output), and add an output-level regression check. Hermes checks passed otherwise: fast checks, universal ad-hoc DMG build, checksum, mount, CLI version, and codesign verification; current CI Gate and PR Checks are successful.
Summary
com.omtglobal.icloud-cliand reconcile CLI/VISION version 0.2.0Governing Issue
Refs #98
This PR implements the repository side of #98. The issue must remain open until a maintainer provisions the protected release secrets and attaches successful notarization plus clean-account same-path TCC continuity evidence.
Validation
Relevant local checks passed
Required PR checks are expected to satisfy
CI GateSkipped checks are explained below
bash scripts/ci/run-fast-checks.sh— passed; 110 tests, 88.58% coverage, mutation checks, debug/release buildsrelease workflow YAML parsed successfully
universal arm64/x86_64 DMG, checksum, strict code-sign verification, and designated-requirement output passed with the documented non-distributable ad-hoc smoke path
installed Developer ID identity was discovered, but noninteractive private-key access failed with
errSecInternalComponentProduction notarization and clean-account TCC continuity are not claimed or skipped; they are the explicit remaining issue gates.
Bootstrap Governance
CONTRIBUTING.md,.github/PULL_REQUEST_TEMPLATE.md, anddocs/bootstrap/onboarding.mdwhen applicableThe generated onboarding doc now records reviewers, runner boundaries, and release environment gates.
Flow Contract
Flow Merge Readiness
Next actor: release/security reviewer. After merge, a maintainer must provision the documented environment secrets and execute the first release validation.
Merge Automation
gh pr merge --auto --squash, or the reason it is unavailable/unsafe is noted belowAuto-merge is deferred because the production release workflow and secret contract require independent review.
Notes