Add code signing and notarization for macOS app#1769
Conversation
|
I think it might be prudent to separate the different jobs into different workflow files, and only have the release jobs run triggered on changes to the main branch. This would protect somewhat against malicious pull requests leaking the contents of the macOS dev certificate/private key (e.g. if there were to be an injection point in one of the CI jobs) |
|
Very good point! I was thinking that the PR action runs need approval but we shouldn't rely on that alone. I'll check how to best restrict the signing and notarization to main. |
|
Might be easiest to create a release environment: https://docs.github.com/en/actions/how-tos/deploy/configure-and-manage-deployments/manage-environments and only allow that environment to run on the main branch and move the secrets there |
|
Very good input! That's what I did. We already have a release environment and I'd keep that for actual tagged releases. So I added a |
|
Since I'm not a fan of deploying to a |
Summary of changes
Add code signing and notarization for macOS app.
Code signing and notarization can be enabled via environment variable (
MACOS_NOTARIZE_ENABLED=1) and will require a number of other environment variables as well, including the certificates.Opening the app installed with the .dmg file from this run looks like this:

In this run, the notarization steps were skipped which is the behavior when not pushing to
main,maintenance, or av*tag.The tests were performed on the
mainenvironment but it's now changed toproductionto avoid confusion. After the PR is merged, I will delete themainenvironment.Closes #1667
Pull Request Checklist