mirror of
https://github.com/openai/codex.git
synced 2026-10-20 17:38:45 +00:00
## What changed Replace fixed release pins for app-server/exec-server compatibility tests with the latest stable version and the stable release published closest to 60 days ago. Exclude drafts and prereleases, and prefer the higher version when publication dates are equally close. Resolve release versions and SHA-256 asset digests before Linux Bazel CI runs, passing them through `CODEX_COMPAT_RELEASES` to the release archive repositories. Reuse the argument comment lint action so it also prepares compatibility releases. Add bounded retries for transient GitHub release reads. ## Testing Add unit coverage for stable release filtering, version ordering, nearest publication dates, tie-breaking, and deduplication when both selections resolve to the same release. GitOrigin-RevId: 5a8cf8bdabd77ab3fa89bbb711367b5d9ce8044b
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
load("//:defs.bzl", "codex_rust_crate")
|
|
load("//bazel/rules/testing/compat:exec_server_compat_test.bzl", "exec_server_compat_test")
|
|
|
|
exports_files(
|
|
["src/proto/codex.exec_server.relay.v1.rs"],
|
|
visibility = ["//codex-rs/exec-server/tests/support:__pkg__"],
|
|
)
|
|
|
|
codex_rust_crate(
|
|
name = "exec-server",
|
|
crate_name = "codex_exec_server",
|
|
crate_srcs = glob([
|
|
"src/**/*.rs",
|
|
"tests/unit/**/*.rs",
|
|
]),
|
|
deps_extra = [
|
|
"@crates//:opentelemetry",
|
|
"@crates//:opentelemetry_sdk",
|
|
"@crates//:toml",
|
|
],
|
|
extra_binaries = [
|
|
"//codex-rs/bwrap:bwrap",
|
|
"//codex-rs/windows-sandbox-rs:codex-command-runner",
|
|
"//codex-rs/windows-sandbox-rs:codex-windows-sandbox-setup",
|
|
],
|
|
integration_compile_data_extra = [
|
|
"src/proto/codex.exec_server.relay.v1.rs",
|
|
],
|
|
# Keep the crate's tests single-threaded under Bazel because they install
|
|
# process-global test-binary dispatch state, and the remote exec-server
|
|
# cases already rely on serialization around the full CLI path.
|
|
integration_test_args = ["--test-threads=1"],
|
|
test_tags = ["no-sandbox"],
|
|
unit_test_args = ["--test-threads=1"],
|
|
)
|
|
|
|
exec_server_compat_test(
|
|
name = "exec-server-current-version-test",
|
|
comparison_binary = "//codex-rs/cli:codex",
|
|
current_binary = "//codex-rs/cli:codex",
|
|
)
|
|
|
|
# Preparation selects both releases; the normal Bazel test invocation runs them.
|
|
exec_server_compat_test(
|
|
name = "exec-server-stable-release-test",
|
|
release = "@codex_release_latest_stable",
|
|
)
|
|
|
|
exec_server_compat_test(
|
|
name = "exec-server-historical-release-test",
|
|
release = "@codex_release_historical_stable",
|
|
)
|