mirror of
https://github.com/openai/codex.git
synced 2026-10-21 05:22:21 +00:00
Stage Python runtime wheels directly from package directories (#45526)
## Why The Windows release workflow builds an extra package archive only to extract it again when staging the Python runtime wheel. Reuse the package directory to avoid this round trip. ## What changed - Allow `stage-runtime` to accept a Codex package directory as well as a `.tar.gz` archive, with the same package layout validation. - Reject overlapping source and staging directories, symlinks, and non-regular directory entries before staging. - Stage Windows runtime wheels from the existing package directory and retain the check that voice resources are absent. ## Testing Add coverage for matching directory and archive output, including file permissions, source preservation, invalid layouts, non-regular entries, overlapping directories, and CLI handling of both source formats. GitOrigin-RevId: bf6d1e05888367d482d8d51a4a8061f92a9cae8b
This commit is contained in:
@@ -535,23 +535,18 @@ jobs:
|
||||
|
||||
# The wheel's Windows support floor predates the native voice
|
||||
# runtime's verified device/VC++ prerequisites. Keep it voice-free.
|
||||
wheel_archives="${RUNNER_TEMP}/voice-free-wheel/${{ matrix.target }}"
|
||||
bash "${GITHUB_WORKSPACE}/.github/scripts/build-codex-package-archive.sh" \
|
||||
--target "${{ matrix.target }}" --bundle primary \
|
||||
--entrypoint-dir "$CARGO_TARGET_DIR/${{ matrix.target }}/release" \
|
||||
--archive-dir "$wheel_archives"
|
||||
python - "$wheel_archives/codex-package-${{ matrix.target }}.tar.gz" <<'PY'
|
||||
wheel_package="${RUNNER_TEMP}/codex-package-${{ matrix.target }}"
|
||||
python - "$wheel_package" <<'PY'
|
||||
import sys
|
||||
import tarfile
|
||||
with tarfile.open(sys.argv[1]) as archive:
|
||||
assert not any("codex-resources/voice/" in member.name for member in archive)
|
||||
from pathlib import Path
|
||||
assert not (Path(sys.argv[1]) / "codex-resources" / "voice").exists()
|
||||
PY
|
||||
stage_dir="${RUNNER_TEMP}/openai-codex-cli-bin-${{ matrix.target }}"
|
||||
wheel_dir="${GITHUB_WORKSPACE}/python-runtime-dist/${{ matrix.target }}"
|
||||
python "${GITHUB_WORKSPACE}/sdk/python/scripts/update_sdk_artifacts.py" \
|
||||
stage-runtime \
|
||||
"$stage_dir" \
|
||||
"$wheel_archives/codex-package-${{ matrix.target }}.tar.gz" \
|
||||
"$wheel_package" \
|
||||
--codex-version "${GITHUB_REF_NAME}" \
|
||||
--platform-tag "$platform_tag"
|
||||
"${RUNNER_TEMP}/python-runtime-build-venv/Scripts/python.exe" -m build --wheel --outdir "$wheel_dir" "$stage_dir"
|
||||
|
||||
Reference in New Issue
Block a user