Skip to content

feat: add macOS code signing to release workflow#173

Merged
jdx merged 1 commit intomainfrom
feat/macos-codesign
Jan 19, 2026
Merged

feat: add macOS code signing to release workflow#173
jdx merged 1 commit intomainfrom
feat/macos-codesign

Conversation

@jdx
Copy link
Owner

@jdx jdx commented Jan 19, 2026

Summary

  • Add macOS code signing to release builds using the same approach as fnox
  • Uses apple-actions/import-codesign-certs@v3 for certificate import
  • Uses taiki-e/upload-rust-binary-action@v1 with codesign parameters

Required Secrets

Before this works, you need to add these GitHub repository secrets:

  1. CERTIFICATES_P12 - Base64-encoded .p12 certificate file containing your Developer ID Application certificate
  2. CERTIFICATES_P12_PASS - Password for the .p12 file

How to export and set up secrets

  1. Open Keychain Access
  2. Find "Developer ID Application: Jeffrey Dickey (4993Y37DX6)" certificate
  3. Right-click → Export → save as .p12 with a password
  4. Encode as base64: base64 -i certificate.p12 | pbcopy
  5. Add to GitHub: Settings → Secrets and variables → Actions → New repository secret

🤖 Generated with Claude Code


Note

Adds macOS code signing to the release workflow and conditionally uploads signed binaries for Apple targets.

  • Imports signing certs on macOS via apple-actions/import-codesign-certs@v3 using CERTIFICATES_P12 and CERTIFICATES_P12_PASS
  • Splits upload step: Upload binary (macOS signed) with codesign and codesign_prefix for pitchfork, and Upload binary (non-macOS) for others
  • Keeps existing matrix targets; non-macOS build/upload behavior unchanged

Written by Cursor Bugbot for commit 203a4ca. This will update automatically on new commits. Configure here.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings January 19, 2026 16:50
Copy link
Contributor

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

This PR adds macOS code signing to the release workflow to ensure binaries are properly signed for distribution. The implementation follows the same approach used in the fnox project.

Changes:

  • Import code signing certificates for macOS builds using apple-actions/import-codesign-certs@v3
  • Split binary upload step into separate macOS (signed) and non-macOS paths
  • Configure code signing with Developer ID Application certificate and bundle prefix

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

codesign: "Developer ID Application: Jeffrey Dickey (4993Y37DX6)"
codesign_prefix: dev.jdx.
- name: Upload binary (non-macOS)
if: ${{ !startsWith(matrix.os, 'macos') }}
Copy link

Copilot AI Jan 19, 2026

Choose a reason for hiding this comment

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

The conditional expression has unnecessary double braces. The outer ${{ }} wrapper is redundant when using the if key in GitHub Actions. Remove the outer braces for consistency with line 51.

Suggested change
if: ${{ !startsWith(matrix.os, 'macos') }}
if: !startsWith(matrix.os, 'macos')

Copilot uses AI. Check for mistakes.
@jdx jdx merged commit 0660ea6 into main Jan 19, 2026
4 checks passed
@jdx jdx deleted the feat/macos-codesign branch January 19, 2026 16:56
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