Skip to content

Harden macOS release signing and notarization - #708

Open
TheGreatAxios wants to merge 5 commits into
mainfrom
cl-7117-sign-and-notarize-direct-macos-release-binaries
Open

Harden macOS release signing and notarization#708
TheGreatAxios wants to merge 5 commits into
mainfrom
cl-7117-sign-and-notarize-direct-macos-release-binaries

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Requires Developer ID signing, notarization, Gatekeeper assessment, host-native signed OpenTUI smoke, and lockfile-verified native fetches before macOS release publication.
  • Keeps Apple credentials in the operator Keychain and fails closed when any release security gate does not pass.

Verification

  • bun run check passes.
  • Credential-free signing and native-validation suites pass.
  • Live Apple Developer ID / notarytool / Gatekeeper rehearsal remains an external operator step before production release use.

Fixes CL-7117

@linear-code

linear-code Bot commented Aug 28, 2026

Copy link
Copy Markdown
TheGreatAxios

This comment was marked as outdated.

TheGreatAxios

This comment was marked as outdated.

@TheGreatAxios
TheGreatAxios force-pushed the cl-7117-sign-and-notarize-direct-macos-release-binaries branch from 3cc2496 to 1de8f76 Compare August 28, 2026 19:14
Opposite-arch macOS binaries keep signature and notarization gates but
no longer count as native-smoked. Cross-compile OpenTUI downloads now
fail closed on bun.lock integrity mismatch before unpack.
bun.lock nests native package version pins under @opentui/core
optionalDependencies on the same line as core's sha512. Matching the
package name alone selected that wrong hash and broke cross-compile
fetches. Require the packages-array entry shape so integrity checks
the native tarball hash.
@TheGreatAxios
TheGreatAxios force-pushed the cl-7117-sign-and-notarize-direct-macos-release-binaries branch from 1de8f76 to 1e7077d Compare August 30, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant