This document describes how to cut a new release of Kiro MCP Manager.
- Enroll in the Apple Developer Program ($99/year)
- Create a "Developer ID Application" certificate in the Apple Developer portal
- Download and install the certificate in Keychain Access
- Export the certificate as a .p12 file:
- Open Keychain Access
- Find "Developer ID Application: Your Name"
- Right-click → Export
- Save as .p12 with a strong password
Add these secrets to your GitHub repository (Settings -> Secrets and variables -> Actions):
| Secret | Description |
|---|---|
APPLE_CERTIFICATE_BASE64 |
Base64-encoded .p12 certificate (base64 -i certificate.p12) |
APPLE_CERTIFICATE_PASSWORD |
Password used when exporting the .p12 |
APPLE_DEVELOPER_NAME |
Your name as it appears on the certificate (e.g., "Ryan Cormack") |
APPLE_ID |
Your Apple ID email |
APPLE_TEAM_ID |
Your 10-character Team ID (find in Apple Developer portal) |
APPLE_APP_PASSWORD |
App-specific password from appleid.apple.com |
To create an app-specific password:
- Go to appleid.apple.com
- Sign in -> Security -> App-Specific Passwords
- Generate a new password for "GitHub Actions"
The release workflow automatically updates the Homebrew Cask formula after each release. This requires:
-
Create the tap repository: Create a public GitHub repository named
ryancormack/homebrew-kiro-mcp-manager. It can start empty; the workflow will push theCasks/directory automatically. -
Create a Personal Access Token: Generate a GitHub PAT with
reposcope that has push access to theryancormack/homebrew-kiro-mcp-managerrepository. -
Add the
HOMEBREW_TAP_TOKENsecret: Go to your repository Settings -> Secrets and variables -> Actions, and add the PAT as a secret namedHOMEBREW_TAP_TOKEN.
-
Update
CHANGELOG.mdwith the new version and release notes -
Commit the changelog:
git add CHANGELOG.md git commit -m "Prepare release v1.0.0" -
Create and push a version tag:
git tag v1.0.0 git push origin main --tags
-
The GitHub Actions workflow will automatically:
- Build the app
- Sign it with your Developer ID certificate
- Submit for Apple notarization
- Create a GitHub Release with the signed DMG
- Update the Homebrew Cask formula in the tap repository
After the build job completes, the release workflow automatically:
- Downloads the SHA256 checksum file from the GitHub Release
- Generates an updated Homebrew Cask formula with the correct version and SHA256
- Commits and pushes the formula to the
ryancormack/homebrew-kiro-mcp-managertap repository
No manual intervention is needed. If the HOMEBREW_TAP_TOKEN secret is not configured or the tap repository does not exist, the update-homebrew job will fail without affecting the release itself.
- Check that your Apple Developer account is in good standing
- Verify the app-specific password is correct
- Check the notarization log:
xcrun notarytool log <submission-id> --apple-id ... --team-id ...
- Verify the certificate hasn't expired
- Check that APPLE_DEVELOPER_NAME matches exactly what's on the certificate
- Re-export the certificate and update the GitHub secret
- Check the Xcode version in the workflow matches what's available on the runner
- Verify the project builds locally with
xcodebuild