Skip to content
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

Sign and notarize macOS workflow artifact #50

Closed
wants to merge 4 commits into from
Closed

Sign and notarize macOS workflow artifact #50

wants to merge 4 commits into from

Conversation

valentinegb
Copy link
Contributor

@valentinegb valentinegb commented Dec 12, 2023

This pull request aims to integrate signing and notarization into the macOS portion of the build workflow. It has been created before it is ready to be merged because this is something I can't test on my local machine and so heavy review is necessary.

The changes made require new GitHub secrets to be created. They are as follows:

  • BUILD_CERTIFICATE_BASE64: This is the p12 certificate file. Use the following command to convert your certificate to Base64 and copy it to your clipboard:
    base64 -i BUILD_CERTIFICATE.p12 | pbcopy
    
  • P12_PASSWORD: The password for the Apple signing certificate.
  • BUILD_PROVISION_PROFILE_BASE64 : The Apple provisioning profile. Use the following command to convert your provisioning profile to Base64 and copy it to your clipboard:
    base64 -i PROVISIONING_PROFILE.provisionprofile | pbcopy
    
  • KEYCHAIN_PASSWORD: A keychain password. A new keychain will be created on the runner, so the password for the new keychain can be any new random string.
  • APPLE_ID: The Apple ID associated with the developer account.
  • APPLE_TEAM_ID: The Apple Developer account team ID.
  • APPLE_APP_SPECIFIC_PASSWORD: A 2FA password for this specific app. See Using app-specific passwords.

Before approving the workflow for this pull request, remember that it will certainly fail unless these GitHub secrets have been properly set.

This GitHub Docs page was used for reference.

@Calinou Calinou added the enhancement New feature or request label Dec 12, 2023
@fire
Copy link
Member

fire commented Dec 13, 2023

I'll get to this when I can. I don't think today is the day :(

@valentinegb
Copy link
Contributor Author

I'll get to this when I can. I don't think today is the day :(

Not a problem ^^

@fire
Copy link
Member

fire commented Dec 14, 2023

So to be clear I get an apple developer account, get the key in a text form, and put it into the secrets section?

@valentinegb
Copy link
Contributor Author

I'm not familiar with the Apple Developer dashboard interface, but I think you can download a certificate. Then use the commands I provided to encode it and copy it as text to your clipboard.

@valentinegb
Copy link
Contributor Author

@valentinegb
Copy link
Contributor Author

From various sources online it looks like you can import the .cert file from that article into Keychain and export a .p12 file

@fire
Copy link
Member

fire commented Dec 16, 2023

The other update affected this pull request.

@fire
Copy link
Member

fire commented Jan 24, 2024

@Ughuuu has been helping me get signing into Godot Engine. Can you advise?

@valentinegb
Copy link
Contributor Author

Hey, sorry it's been a while, I had to completely wipe my computer a while ago and to be honest I totally forgot about this pull request ^^'
I'm a bit busy with some other projects now unfortunately but I'll leave all my code up in case someone else wants to pick this back up
I may work on this again in the future, but not now, sorry

@Ughuuu
Copy link

Ughuuu commented Feb 13, 2024

Made a godot-cpp-template fork with sign action, borrowed from mihe. You could reuse that if the artifact is a .framework.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants