mirror of
https://github.com/openai/codex.git
synced 2026-11-09 20:50:33 +00:00
Expose a stable executor build identity in environment metadata (#43513)
## 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
This commit is contained in:
@@ -2543,8 +2543,9 @@ mod tests {
|
||||
#[test_case::test_case(Some(EnvironmentInfo::local()); "from_initialize")]
|
||||
#[test_case::test_case(Some(EnvironmentInfo {
|
||||
executor_version: "1.2.3-alpha.4".to_string(),
|
||||
provider_id: Some("sha256:fb4f62da3e84f6864dcec8ede7bc66f1c96ecaeaf55f8a786b85df994057c8ac".to_string()),
|
||||
..EnvironmentInfo::local()
|
||||
}); "with_executor_version")]
|
||||
}); "with_executor_metadata")]
|
||||
#[test_case::test_case(None; "legacy_server")]
|
||||
#[tokio::test]
|
||||
async fn environment_info_is_cached(
|
||||
|
||||
Reference in New Issue
Block a user