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
+8 -2
View File
@@ -98,7 +98,8 @@ def parse_args() -> argparse.Namespace:
"targets, bwrap is built with Cargo."
),
)
parser.add_argument(
zsh_source = parser.add_mutually_exclusive_group()
zsh_source.add_argument(
"--zsh-manifest",
type=Path,
help=(
@@ -106,6 +107,11 @@ def parse_args() -> argparse.Namespace:
"scripts/codex_package/codex-zsh."
),
)
zsh_source.add_argument(
"--zsh-bin",
type=Path,
help="Optional prebuilt zsh executable instead of fetching from a manifest.",
)
parser.add_argument(
"--codex-command-runner-bin",
type=Path,
@@ -182,7 +188,7 @@ def main() -> int:
entrypoint_bin=source_outputs.entrypoint_bin,
code_mode_host_bin=source_outputs.code_mode_host_bin,
rg_bin=resolve_rg_bin(spec, args.rg_bin),
zsh_bin=resolve_zsh_bin(spec, args.zsh_manifest),
zsh_bin=resolve_zsh_bin(spec, args.zsh_manifest, zsh_bin=args.zsh_bin),
bwrap_bin=source_outputs.bwrap_bin,
codex_command_runner_bin=source_outputs.codex_command_runner_bin,
codex_windows_sandbox_setup_bin=source_outputs.codex_windows_sandbox_setup_bin,