Sign bundled macOS helper binaries (#35264)

## Why

The macOS release workflow fetched `rg` and zsh while assembling package
archives, after the signing stage. This left the bundled helper executables
outside the workflow's signing and notarization checks.

## What changed

- Fetch, sign, notarize, and upload the pinned macOS `rg` and zsh binaries with
  the other release artifacts.
- Build package archives from those signed helpers via `--rg-bin` and the new
  `--zsh-bin` override.
- Verify the helpers' architecture, signatures, and absence of entitlements in
  the final package.

## Testing

- Cover the prebuilt zsh override and verify that package assembly preserves
  the supplied helper binaries.

GitOrigin-RevId: a3865c04fa2f0f4df32e627ee7202bc87bdc3241
This commit is contained in:
Channing Conger
2026-07-24 23:44:55 +00:00
committed by copyberry
parent 0d2a0aa76b
commit a453588416
7 changed files with 187 additions and 14 deletions
+14
View File
@@ -16,6 +16,20 @@ from codex_package.zsh import resolve_zsh_bin
class ResolveZshBinTest(unittest.TestCase):
def test_uses_prebuilt_executable_override(self) -> None:
with tempfile.TemporaryDirectory() as temp_dir:
signed_zsh = Path(temp_dir) / "signed-zsh"
signed_zsh.write_bytes(b"signed zsh binary")
signed_zsh.chmod(0o755)
with patch("codex_package.zsh.fetch_dotslash_executable") as fetch:
zsh_bin = resolve_zsh_bin(
TARGET_SPECS["aarch64-apple-darwin"], zsh_bin=signed_zsh
)
self.assertEqual(zsh_bin, signed_zsh.resolve())
fetch.assert_not_called()
def test_uses_manifest_override(self) -> None:
with tempfile.TemporaryDirectory() as temp_dir:
root = Path(temp_dir)