mirror of
https://github.com/openai/codex.git
synced 2026-09-06 15:29:32 +00:00
Summary: - add a checked-in codex-zsh DotSlash manifest for supported Unix targets - fetch the matching zsh fork artifact during package builds and install it at codex-resources/zsh/bin/zsh when available - expose the bundled zsh fork through install-context and have Config use it as the runtime zsh path for packaged installs - remove the user/profile zsh_path config override now that the fork is package-managed - update app-server zsh-fork integration tests to spawn from a temporary package layout instead of configuring zsh_path directly - use copyfile for package executable staging so local package smoke tests do not preserve platform-specific source metadata Test Plan: - just fmt - just write-config-schema - just bazel-lock-update - just bazel-lock-check - just fix -p codex-config -p codex-core -p codex-exec - just fix -p codex-app-server - just fix -p codex-core -p codex-app-server -p codex-cli -p codex-exec -p codex-mcp-server -p codex-tui - python3 -m py_compile scripts/codex_package/cli.py scripts/codex_package/layout.py scripts/codex_package/zsh.py - python3 -m unittest discover scripts/codex_package - cargo test -p codex-core default_zsh_path_sets_runtime_zsh_path - cargo test -p codex-core session_new_fails_when_zsh_fork_enabled_without_packaged_zsh - cargo test -p codex-core restricted_read_implicitly_allows_helper_executables - cargo test -p codex-config - cargo test -p codex-app-server turn_start_shell_zsh_fork_executes_command_v2 - cargo test -p codex-app-server turn_start_shell_zsh_fork - cargo check -p codex-cli -p codex-exec -p codex-mcp-server
23 lines
590 B
Python
23 lines
590 B
Python
"""Fetch the patched zsh fork used by shell_zsh_fork."""
|
|
|
|
from pathlib import Path
|
|
|
|
from .dotslash import fetch_dotslash_executable
|
|
from .targets import REPO_ROOT
|
|
from .targets import TargetSpec
|
|
|
|
|
|
ZSH_MANIFEST = REPO_ROOT / "scripts" / "codex_package" / "codex-zsh"
|
|
ZSH_RESOURCE_PATH = Path("zsh") / "bin" / "zsh"
|
|
|
|
|
|
def resolve_zsh_bin(spec: TargetSpec) -> Path | None:
|
|
return fetch_dotslash_executable(
|
|
spec,
|
|
manifest_path=ZSH_MANIFEST,
|
|
artifact_label="codex-zsh",
|
|
cache_key=f"{spec.target}-zsh",
|
|
dest_name="zsh",
|
|
missing_ok=True,
|
|
)
|