Skip to content

Configure macOS code signing and notarization#61

Merged
Furisto merged 2 commits into
mainfrom
notarize
Nov 19, 2025
Merged

Configure macOS code signing and notarization#61
Furisto merged 2 commits into
mainfrom
notarize

Conversation

@Furisto
Copy link
Copy Markdown
Owner

@Furisto Furisto commented Nov 19, 2025

Add support for signing and notarizing the CLI binary for macOS distribution:

  • Create entitlements.xml with necessary permissions for network, file access, and process execution
  • Configure code signing in GoReleaser using Developer ID certificate
  • Add notarization configuration to submit binaries to Apple's notarization service
  • Update release workflow to pass signing and notarization credentials
  • Set 20-minute timeout to allow Apple's scanning process to complete

Furisto and others added 2 commits November 19, 2025 23:23
Add support for signing and notarizing the CLI binary for macOS distribution:
- Create entitlements.xml with necessary permissions for network, file access, and process execution
- Configure code signing in GoReleaser using Developer ID certificate
- Add notarization configuration to submit binaries to Apple's notarization service
- Update release workflow to pass signing and notarization credentials
- Set 20-minute timeout to allow Apple's scanning process to complete

This enables users to run the construct CLI on macOS without warnings.

Co-authored-by: construct-agent <noreply@construct.sh>
Create a manual trigger workflow that:
- Runs GoReleaser in snapshot mode without requiring a git tag
- Tests code signing and notarization on any branch
- Doesn't publish artifacts or create releases
- Enables safe iteration before merging to main

Co-authored-by: construct-agent <noreply@construct.sh>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Nov 19, 2025

Walkthrough

This pull request introduces macOS code signing and notarization infrastructure to the release workflow. Changes include adding five new environment variables (MACOS_SIGN_P12, MACOS_SIGN_PASSWORD, MACOS_NOTARY_ISSUER_ID, MACOS_NOTARY_KEY_ID, MACOS_NOTARY_KEY) to the existing release workflow step. A new test-release workflow is added to validate the release process via workflow_dispatch. The GoReleaser configuration is updated with notarization blocks for macOS builds. An entitlements.xml file is created defining macOS sandbox permissions for network access, file I/O, and unsigned executable memory.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Free

📥 Commits

Reviewing files that changed from the base of the PR and between a0f240b and aff7252.

📒 Files selected for processing (4)
  • .github/workflows/release.yml (1 hunks)
  • .github/workflows/test-release.yml (1 hunks)
  • .goreleaser.yml (1 hunks)
  • entitlements.xml (1 hunks)

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

@Furisto Furisto merged commit 650d15e into main Nov 19, 2025
1 of 2 checks passed
@Furisto Furisto deleted the notarize branch December 1, 2025 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant