-
-
Notifications
You must be signed in to change notification settings - Fork 12
build: Switch to dylibs on macOS #468
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
base: main
Are you sure you want to change the base?
Conversation
| APPLE_API_KEY_PATH: /tmp/apple_key.json | ||
| DO_CODESIGN: ${{ startsWith(github.ref, 'refs/heads/release/') && '1' || '0' }} | ||
| # DO_CODESIGN: ${{ startsWith(github.ref, 'refs/heads/release/') && '1' || '0' }} | ||
| DO_CODESIGN: 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.
Bug: Hardcoded codesign flag may break CI on non-release branches
The conditional DO_CODESIGN logic is commented out and replaced with a hardcoded value of 1. Previously, codesigning only ran on release branches (refs/heads/release/). Now it always attempts to codesign, which will cause CI failures on non-release branches if the APPLE_CERT_DATA and APPLE_API_KEY secrets aren't available (the step at line 42-45 explicitly errors when these are missing).
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'll revert it when approved. Used for testing.
|
Not sure if this will cut it though, but I'm not an expert. I think the reason we use frameworks is so that they can be signed. dylibs if not will show a popup error when people download the addon. |
|
@Ughuuu I've added changes to CI to sign the dylibs. And I checked a build from CI in a Godot project - no issues with Gatekeeper. It's all good! Codesign infoBTW, when you export your Godot project with codesign, it signs the entire bundle and every library, which means it overwrites Sentry's signatures. Just for the info. And there is no problems with Gatekeeper as far as I've tested. It makes an online check the first time you use the library, and since it's signed and notarized – it gets a pass. The exported projects should get stamped during notarization process, so players don't even need to be online. |
This PR refactors the build process to create dylibs on macOS instead of frameworks to dodge issues with symlinks on Windows and app rejections in TestFlight due to malformed framework bundles.