Preserve macOS permissions across upgrades #19

Merged
erik merged 1 commit from fix/task-6cbbf164-stable-macos-signing into main 2026-07-31 22:34:28 -05:00
Owner

Summary

  • require persistent application signing for published macOS releases
  • import signing credentials through a temporary CI keychain with cleanup
  • restore the installed app executable as the stable authorization target
  • document signing setup and the one-time permission transition

Verification

  • ./scripts/pre-pr.sh

Task: task-6cbbf164

## Summary - require persistent application signing for published macOS releases - import signing credentials through a temporary CI keychain with cleanup - restore the installed app executable as the stable authorization target - document signing setup and the one-time permission transition ## Verification - `./scripts/pre-pr.sh` Task: task-6cbbf164
fix: preserve macOS permissions across upgrades
All checks were successful
CI / Rust build, lint, and test (pull_request) Successful in 12s
CI / Swift build, lint, and test (pull_request) Successful in 14s
c72175845b
Task: #task-6cbbf164
Author
Owner

Review summary

The PR replaces ad-hoc release signing with a required persistent Apple signing identity, restores the installed application executable as the stable authorization target, and documents the signing and permission transition.

Acceptance criteria

  • Met: macOS release builds use com.caradoc.kvshare.mac as the stable signing identifier and reject identities without an Apple team identifier.
  • Met: Forgejo Actions imports the protected PKCS#12 certificate into a temporary keychain and removes the keychain and certificate in an always() cleanup step.
  • Met: release automation emits clear errors for missing certificate data, certificate password, or application signing identity.
  • Met: docs/RELEASES.md and docs/MACOS_APP.md document configuration and the one-time transition from ad-hoc signing.
  • Met: ./scripts/pre-pr.sh passed locally; Forgejo CI passed Rust and Swift checks.

Blocking issues

  • None.

Warnings

  • None.

Verdict

Approved. The changes satisfy all five acceptance criteria and are ready for the human merge gate.

### Review summary The PR replaces ad-hoc release signing with a required persistent Apple signing identity, restores the installed application executable as the stable authorization target, and documents the signing and permission transition. ### Acceptance criteria - **Met:** macOS release builds use `com.caradoc.kvshare.mac` as the stable signing identifier and reject identities without an Apple team identifier. - **Met:** Forgejo Actions imports the protected PKCS#12 certificate into a temporary keychain and removes the keychain and certificate in an `always()` cleanup step. - **Met:** release automation emits clear errors for missing certificate data, certificate password, or application signing identity. - **Met:** `docs/RELEASES.md` and `docs/MACOS_APP.md` document configuration and the one-time transition from ad-hoc signing. - **Met:** `./scripts/pre-pr.sh` passed locally; Forgejo CI passed Rust and Swift checks. ### Blocking issues - None. ### Warnings - None. ### Verdict **Approved.** The changes satisfy all five acceptance criteria and are ready for the human merge gate.
erik merged commit 2cf3e5deea into main 2026-07-31 22:34:28 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/kvshare!19
No description provided.