load("//:defs.bzl", "codex_rust_crate") exports_files( [ "templates/collaboration_mode/default.md", "templates/collaboration_mode/plan.md", ], visibility = ["//visibility:public"], ) filegroup( name = "model_availability_nux_fixtures", srcs = [ "models.json", "tests/cli_responses_fixture.sse", ], visibility = ["//visibility:public"], ) codex_rust_crate( name = "core", crate_name = "codex_core", compile_data = glob( include = ["**"], exclude = [ "**/* *", "BUILD.bazel", "Cargo.toml", ], allow_empty = True, ) + [ "//codex-rs:node-version.txt", ], rustc_env = { # Askama resolves template paths relative to CARGO_MANIFEST_DIR. In # Bazel, the Cargo-provided absolute source path points outside the # sandbox, so keep the manifest root anchored inside the execroot. "CARGO_MANIFEST_DIR": "codex-rs/core", }, integration_compile_data_extra = [ "//codex-rs/apply-patch:apply_patch_tool_instructions.md", "models.json", "prompt.md", ], test_data_extra = [ "config.schema.json", ] + glob([ "src/**/snapshots/**", ]) + [ # This is a bit of a hack, but empirically, some of our integration tests # are relying on the presence of this file as a repo root marker. When # running tests locally, this "just works," but in remote execution, # the working directory is different and so the file is not found unless it # is explicitly added as test data. # # TODO(aibrahim): Update the tests so that `just bazel-remote-test` # succeeds without this workaround. "//:AGENTS.md", ], test_tags = ["no-sandbox"], extra_binaries = [ "//codex-rs/linux-sandbox:codex-linux-sandbox", "//codex-rs/rmcp-client:test_stdio_server", "//codex-rs/rmcp-client:test_streamable_http_server", "//codex-rs/cli:codex", ], )