-
Notifications
You must be signed in to change notification settings - Fork 225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add signed package build and App Store submission for Mac #3309
Conversation
This commit combines all the changes made by Dan G into one.
.github/autobuild/mac.sh
Outdated
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "${KEYCHAIN_PASSWORD}" build.keychain | ||
security import macos_certificate.p12 -k build.keychain -P "${MACOS_CERTIFICATE_PWD}" -A -T /usr/bin/codesign | ||
security import macapp_certificate.p12 -k build.keychain -P "${MAC_STORE_APP_CERT_PWD}" -A -T /usr/bin/codesign | ||
security import macinst_certificate.p12 -k build.keychain -P "${MAC_STORE_INST_CERT_PWD}" -A -T /usr/bin/productbuild |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this ok even if no macinst_certificate or macapp_certificate exists?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm just looking through the logic. I suspect we need to add some checks to allow signing without app store submission. At the moment it appears that signing will be skipped if the app store certificates are not also available. I'll raise a comment at the relevant place.
Otherwise: If it builds, we can merge this. |
.github/autobuild/mac.sh
Outdated
[[ "${SIGN_IF_POSSIBLE:-0}" == "1" ]] || return 1 | ||
|
||
# Signing was requested, now check all prerequisites: | ||
[[ -n "${MACOS_CERTIFICATE:-}" ]] || return 1 | ||
[[ -n "${MACOS_CERTIFICATE_ID:-}" ]] || return 1 | ||
[[ -n "${MACOS_CERTIFICATE_PWD:-}" ]] || return 1 | ||
[[ -n "${MAC_STORE_APP_CERT:-}" ]] || return 1 | ||
[[ -n "${MAC_STORE_APP_CERT_ID:-}" ]] || return 1 | ||
[[ -n "${MAC_STORE_APP_CERT_PWD:-}" ]] || return 1 | ||
[[ -n "${MAC_STORE_INST_CERT:-}" ]] || return 1 | ||
[[ -n "${MAC_STORE_INST_CERT_ID:-}" ]] || return 1 | ||
[[ -n "${MAC_STORE_INST_CERT_PWD:-}" ]] || return 1 | ||
[[ -n "${NOTARIZATION_PASSWORD:-}" ]] || return 1 | ||
[[ -n "${KEYCHAIN_PASSWORD:-}" ]] || return 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This suggests that signing will be aborted if we do not also have certificates for app store submission. We need a way to allow just signing without store submission.
Closing this in favour of #2624, which is now up to date. |
Short description of changes
This PR adds automation to create a signed pkg (installer) file for direct submission to the macOS App Store, and was originally authored by @danryu.
This PR replaces #2624 and squashes all the changes made by Dan G into one commit. They have also been rebased on to the latest
main
, as the original PR was based on amain
that was at least a year old.CHANGELOG: Build: adds macOS signed pkg build automation
Context: Fixes an issue?
Improves the process for signing the releases for macOS and potentially submitting them automatically to the App Store.
Does this change need documentation? What needs to be documented and how?
Required:
Certificates:
Identifier:
Status of this Pull Request
Brought up to date with the current
main
branch. Build works.What is missing until this pull request can be merged?
Needs to be tested as-is with a release (e.g. nightly?), and in the future with suitable signing certificates for both notarization and App Store submission.
Checklist