mirror of
https://github.com/openai/codex.git
synced 2026-04-24 06:35:50 +00:00
Align Python SDK staging with pinned runtime
This commit is contained in:
@@ -66,7 +66,7 @@ notebook bootstrap the pinned runtime package automatically.
|
||||
|
||||
```bash
|
||||
cd sdk/python
|
||||
python scripts/update_sdk_artifacts.py generate-types
|
||||
python scripts/update_sdk_artifacts.py generate-types-for-pinned-runtime
|
||||
python scripts/update_sdk_artifacts.py \
|
||||
stage-sdk \
|
||||
/tmp/codex-python-release/codex-app-server-sdk \
|
||||
@@ -80,7 +80,7 @@ python scripts/update_sdk_artifacts.py \
|
||||
|
||||
This supports the CI release flow:
|
||||
|
||||
- run `generate-types` before packaging
|
||||
- run `generate-types-for-pinned-runtime` before packaging
|
||||
- stage `codex-app-server-sdk` once with an exact `codex-cli-bin==...` dependency
|
||||
- stage `codex-cli-bin` on each supported platform runner with the same pinned runtime version
|
||||
- build and publish `codex-cli-bin` as platform wheels only; do not publish an sdist
|
||||
|
||||
@@ -65,7 +65,7 @@ platform wheels only; do not publish an sdist:
|
||||
|
||||
```bash
|
||||
cd sdk/python
|
||||
python scripts/update_sdk_artifacts.py generate-types
|
||||
python scripts/update_sdk_artifacts.py generate-types-for-pinned-runtime
|
||||
python scripts/update_sdk_artifacts.py \
|
||||
stage-sdk \
|
||||
/tmp/codex-python-release/codex-app-server-sdk \
|
||||
|
||||
@@ -97,8 +97,12 @@ def pinned_runtime_version() -> str:
|
||||
return module.pinned_runtime_version() # type: ignore[no-any-return]
|
||||
|
||||
|
||||
def runtime_git_ref(version: str) -> str:
|
||||
return f"rust-v{version}"
|
||||
|
||||
|
||||
def pinned_runtime_git_ref() -> str:
|
||||
return f"rust-v{pinned_runtime_version()}"
|
||||
return runtime_git_ref(pinned_runtime_version())
|
||||
|
||||
|
||||
def ensure_git_ref_available(git_ref: str) -> None:
|
||||
@@ -1090,7 +1094,7 @@ def run_command(args: argparse.Namespace, ops: CliOps) -> None:
|
||||
elif args.command == "generate-types-for-pinned-runtime":
|
||||
ops.generate_types_for_pinned_runtime(args.git_ref)
|
||||
elif args.command == "stage-sdk":
|
||||
ops.generate_types()
|
||||
ops.generate_types_for_pinned_runtime(runtime_git_ref(args.runtime_version))
|
||||
ops.stage_python_sdk_package(
|
||||
args.staging_dir,
|
||||
args.sdk_version or ops.current_sdk_version(),
|
||||
|
||||
@@ -333,10 +333,10 @@ def test_stage_sdk_runs_type_generation_before_staging(tmp_path: Path) -> None:
|
||||
)
|
||||
|
||||
def fake_generate_types() -> None:
|
||||
calls.append("generate_types")
|
||||
raise AssertionError("stage-sdk should use pinned-runtime generation")
|
||||
|
||||
def fake_generate_types_for_pinned_runtime(_git_ref: str | None = None) -> None:
|
||||
calls.append("generate_types_for_pinned_runtime")
|
||||
def fake_generate_types_for_pinned_runtime(git_ref: str | None = None) -> None:
|
||||
calls.append(f"generate_types_for_pinned_runtime:{git_ref}")
|
||||
|
||||
def fake_stage_sdk_package(
|
||||
_staging_dir: Path, _sdk_version: str, _runtime_version: str
|
||||
@@ -362,7 +362,7 @@ def test_stage_sdk_runs_type_generation_before_staging(tmp_path: Path) -> None:
|
||||
|
||||
script.run_command(args, ops)
|
||||
|
||||
assert calls == ["generate_types", "stage_sdk"]
|
||||
assert calls == ["generate_types_for_pinned_runtime:rust-v1.2.3", "stage_sdk"]
|
||||
|
||||
|
||||
def test_stage_runtime_stages_binary_without_type_generation(tmp_path: Path) -> None:
|
||||
|
||||
Reference in New Issue
Block a user