Skip to content

fix: code signing on macOS#5

Merged
Patrik Simek (patriksimek) merged 1 commit intomainfrom
fix-code-signing
Apr 20, 2026
Merged

fix: code signing on macOS#5
Patrik Simek (patriksimek) merged 1 commit intomainfrom
fix-code-signing

Conversation

@patriksimek
Copy link
Copy Markdown
Member

This pull request updates the release workflow to add automated code signing and notarization for macOS binaries, ensuring that distributed binaries are trusted by macOS Gatekeeper. It also adds a new entitlements file for signing, restricts certain jobs to only run on release events, and bumps the package version.

macOS Code Signing and Notarization:

  • Added steps to the GitHub Actions release workflow (.github/workflows/release.yml) to import the Apple Developer ID certificate, sign the macOS binary with entitlements, and notarize the binary using Apple’s notary service. This ensures that users won’t see security warnings when running the CLI on macOS.
  • Introduced a new entitlements file (build/entitlements.mac.plist) specifying required code signing permissions for the macOS binary.

Workflow Improvements:

  • Added workflow_dispatch to the release workflow, allowing manual triggering of releases in addition to automatic triggers.
  • Restricted the build-deb, release, and update-homebrew jobs to only run for actual release events, preventing accidental runs on other workflow triggers. [1] [2] [3]

Other:

  • Bumped the package version in package.json from 1.3.0 to 1.3.1.

@patriksimek Patrik Simek (patriksimek) requested a review from a team as a code owner April 20, 2026 23:24
Copilot AI review requested due to automatic review settings April 20, 2026 23:24
@patriksimek Patrik Simek (patriksimek) merged commit 11994f7 into main Apr 20, 2026
6 checks passed
@patriksimek Patrik Simek (patriksimek) deleted the fix-code-signing branch April 20, 2026 23:25
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the release automation to better support distributing macOS binaries by adding code signing/notarization steps, plus minor workflow gating adjustments and a patch version bump.

Changes:

  • Add macOS code signing (Developer ID) and notarization steps to the release workflow.
  • Add a macOS entitlements plist used during signing.
  • Restrict publish-related jobs to release events and bump package version to 1.3.1.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.

File Description
.github/workflows/release.yml Adds codesign/notarytool steps, enables workflow_dispatch, and gates publish jobs to release events.
build/entitlements.mac.plist Introduces entitlements used for macOS signing.
package.json Bumps package version to 1.3.1.
package-lock.json Updates lockfile version fields to match 1.3.1.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

on:
release:
types: [created]
workflow_dispatch:
--team-id "${APPLE_TEAM_ID}" \
--password "${APPLE_APP_PASSWORD}" \
--wait

Comment on lines +5 to +14
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
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.

2 participants