Github Action Pipeline for Deploying Mac App Auto signed #15755
kcrandall
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I made this github action that will automatically upload your Avalonia UI desktop mac app zip and zip.dsa to s3 so you can distribute it with something like NetSparkle. You will need to add your aws credentials as secrets to github actions as well as apple base64 encoded p12 file and the p12 files password. Below i have directions on how to get the p12 file youll need for this as well.
Youll also need to change this
AvaloniaApplication1/AvaloniaApplication1/AvaloniaApplication1.Desktop
everywhere i didnt make it an env variable yet.APPLE_CERTIFICATE: base64 encoded p12 file string
APPLE_CERTIFICATE_PASSWORD: p12 password
APPLE_CERT_NAME: the name on the cert can find this in the keychain on mac or one of the build steps actually prints this out for you. I assume the action could be improved to parse that output and auto set it.
Github Action:
How to get developer signing certificate Mac distribution for outside apple:
https://stackoverflow.com/questions/9418661/how-to-create-p12-certificate-for-ios-distribution
Requesting a Certificate Signing Request (CSR)
Submitting the CSR to Apple
Install .cer and generate .p12 certificate
Steps if the keychain doesn’t export to
.p12
files (option is greyed out because private key isnt linked to cert):openssl pkcs12 -in private_key.p12 -out private_key.pem -nodes
openssl x509 -inform der -in certificate.cer -out certificate.pem
openssl pkcs12 -export -in certificate.pem -inkey private_key.pem -out combined.p12
base64 -i combined.p12 | pbcopy
TIP: if you have multiple versions of open ssl on your computer use /usr/bin/openssl instead of openssl command to use the right one
package-macos-app.sh
Beta Was this translation helpful? Give feedback.
All reactions