Repository navigation
Make release signing and notarization easier to set up - #8
Conversation
The workflow now reads the Developer ID identity from the imported certificate, so MACOS_SIGN_IDENTITY is optional, and it fails early when a certificate is set without notarization credentials. make-dmg.sh checks the notarization status and prints Apple's log when a submission is rejected. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Pqz2pCwcBrWAn7nD7KkoKi
|
The Generated by Claude Code |
|
Update: the certificate password is fixed. The re-run imported the certificate, auto-detected the Developer ID identity and signed the app, so the signing half of this PR works. Notarization still fails, again because of an account problem rather than the code. Apple returned Generated by Claude Code |
Requested by Banstack · project thread
Prepares the release workflow for the Developer ID secrets from #4.
Changes
Developer ID Application: …identity from the importedMACOS_CERTIFICATE, soMACOS_SIGN_IDENTITYis now optional. If the .p12 has no Developer ID identity (for example, it was exported without its private key), the job fails with a clear message.APPLE_ID,APPLE_TEAM_IDorAPPLE_APP_PASSWORDis missing, the job fails early. A signed DMG that hasn't been notarized is still blocked by Gatekeeper.make-dmg.shchecks the notarization status. If Apple rejects the submission, it prints Apple's log before failing.MACOS_SIGN_IDENTITYas optional.With no secrets set, nothing changes: the build is unsigned as before.
Testing
The YAML parses and the shell scripts pass
bash -n. The signed path can only be tested with real credentials, so it will be exercised by the first tag pushed after the secrets are added. Issue #4 can be closed once that release is confirmed to be notarized.🤖 Generated with Claude Code
https://claude.ai/code/session_01Pqz2pCwcBrWAn7nD7KkoKi