ci: restore arm64 releases and harden macOS release signing#152
ci: restore arm64 releases and harden macOS release signing#152mchv wants to merge 7 commits intojustrach:mainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c8559574f
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a97a29f994
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cdf459f1e1
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| gh api repos/${{ github.repository }}/contents/scripts/notarize-macos.sh \ | ||
| -H "Accept: application/vnd.github.raw" > scripts/notarize-macos.sh |
There was a problem hiding this comment.
Pin notarization helper download to immutable ref
This step pulls scripts/notarize-macos.sh from a mutable branch tip and that script is later executed in the notarization step with APPLE_API_* secrets, so historical tag rebuilds can run different code than what was reviewed for the tag. If default-branch content changes (accidentally or maliciously), the workflow can leak notarization credentials or alter signing behavior without any change to the release tag being rebuilt. Use an immutable ref (for example, a specific commit SHA tied to the workflow revision) before executing the helper with secrets.
Useful? React with 👍 / 👎.
Linked issues
Summary
This PR fixes the regressions introduced by #149 and hardens the macOS release path without changing the installer contract.
It does five things:
codedb-linux-arm64to the release matrix so ARM Linux installs keep workingworkflow_dispatchcompatible with older tags such asv0.2.53by guarding the-Dcodesign-identitybuild option and fetching the notarization helper frommainapple-actions/import-codesign-certsaction and moves notarization logic intoscripts/notarize-macos.shFiles touched
build.zig.github/workflows/release-binaries.ymlscripts/notarize-macos.shWhy this is needed
Before this branch:
codedb-linux-arm64build.zigoptionsAfter this branch:
codedb-darwin-x86_64,codedb-darwin-arm64,codedb-linux-x86_64, andcodedb-linux-arm64notarytoolbefore uploadworkflow_dispatchcan still rebuild older tags while using the current notarization helper frommainImplementation notes
build.zignow supports a configurablecodesign-identityoption and adds--options runtime --timestampwhen using a real identity instead of ad-hoc signing.apple-actions/import-codesign-certs@v5for certificate import.-Dcodesign-identitywhen the checked-out tag’sbuild.zigsupports that option.scripts/notarize-macos.shfrom the current default branch before running the notarization step.Checks run
git fetch upstreamupstream/maingit cherry-pick 8b25224ruby -e 'require "yaml"; YAML.load_file(".github/workflows/release-binaries.yml")'bash -n scripts/notarize-macos.shNotes
CONTRIBUTING.md