mirror of
https://github.com/openai/codex.git
synced 2026-09-11 20:36:49 +00:00
## Why Executor compatibility checks need a build identity that distinguishes commits and compiler targets independently of the package release version. ## What changed - Add optional `providerId` to exec-server environment metadata, cached at startup and returned by initialization and `environment/info`. - Derive the ID as SHA-256 of `git:<lowercase commit>:<target>`. It identifies a standard build configuration, not exact executable bytes, and is omitted when the commit stamp or target is unavailable or invalid. - Embed the compiler target in `BuildInfo`, preserve compatibility with historical metadata without a target, and stamp Cargo release builds with `STABLE_GIT_COMMIT`. - Group Bazel build-script argument files under one `--arg-file` flag to reduce Windows command-line length while preserving file order. ## Testing Add deterministic build-ID vectors across targets, commit normalization and invalid input coverage, and historical metadata compatibility tests. Extend exec-server coverage for metadata caching and ensure runtime environment overrides cannot replace the executor's build identity. GitOrigin-RevId: 125a18c23de7ad006571940ba305836376c983f4
25 lines
526 B
TOML
25 lines
526 B
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-build-info"
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
doctest = false
|
|
name = "codex_build_info"
|
|
path = "src/lib.rs"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
codex-install-context = { workspace = true }
|
|
semver = { workspace = true, features = ["serde"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
sha2 = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
tempfile = { workspace = true }
|