Use this before re-enabling packaged macOS GitHub release assets.
Unsigned or un-notarized macOS downloads can be blocked by Gatekeeper with messages like:
Agent Workspace.app is damaged and can't be openedAgent Workspace.app is from an unidentified developer
The GitHub Actions macOS workflow now expects proper Apple signing and notarization credentials for tag releases. It is currently configured to build a signed/notarized .app for CI smoke coverage while packaged macOS release assets stay disabled.
Add these repository secrets before cutting the next macOS release.
Required:
APPLE_CERTIFICATEAPPLE_CERTIFICATE_PASSWORD
Optional but recommended:
APPLE_SIGNING_IDENTITY
Choose one notarization path.
App Store Connect API key path:
APPLE_API_KEYAPPLE_API_ISSUERAPPLE_API_KEY_BASE64
Apple ID path:
APPLE_IDAPPLE_PASSWORDAPPLE_TEAM_ID
APPLE_CERTIFICATE
- export the
Developer ID Applicationcertificate as a.p12 - base64-encode the file contents
- store the base64 string in the secret
APPLE_CERTIFICATE_PASSWORD
- password used when exporting the
.p12
APPLE_API_KEY_BASE64
- base64-encode the
.p8App Store Connect API key file
APPLE_SIGNING_IDENTITY
- optional override
- example:
Developer ID Application: Your Name (TEAMID)
- Confirm the repo version is ready for release.
- Confirm the macOS secrets above are present in GitHub Actions.
- Push the release tag.
- Wait for
.github/workflows/macos.ymlto finish. - Confirm the workflow passes the
Verify signed + notarized macOS bundlestep. - If you are re-enabling packaged macOS downloads, update
.github/workflows/macos.ymlsoMACOS_BUNDLESincludesdmgandMACOS_RELEASE_UPLOAD_ENABLEDis set totrue. - Confirm the uploaded macOS
.dmgcame from that signed workflow run.
The release workflow now:
- imports the Apple certificate into a temporary keychain
- resolves the macOS signing identity
- passes notarization credentials into the Tauri build
- validates the built app with
codesign - checks Gatekeeper acceptance with
spctl - validates notarization stapling with
xcrun stapler validate
If signing or notarization is not configured on a tag release, the macOS workflow fails before publishing assets.
Test the released macOS artifact on a clean machine:
- download the
.dmgfrom GitHub Releases - move the app into
Applications - launch it normally
- confirm Gatekeeper does not show a damaged/unidentified warning
Until a signed macOS desktop release is published, direct users to:
git clone https://github.com/web3dev1337/agent-workspace.git
cd agent-workspace
npm install
npm start