Upgrade Bazel rules_rs to 0.2.3 (#61355)

## What changed

- Use the `rules_rs` 0.2.3 registry release instead of an archive override, and upgrade `platforms` to 1.1.0.
- Disable root crate alias targets and migrate explicit dependencies to package labels such as `@crates//tokio`. Disable root crate data for the argument comment linter's crate repository.
- Refresh the retained `rules_rs` patches, remove the zlib snapshot URL backport, and drop extra dependency declarations from `exec-server` and `v8-poc`.

GitOrigin-RevId: c354413a19b45964104457063c613028f5325bc0
This commit is contained in:
Sean Huang
2026-11-13 18:51:30 +00:00
committed by copyberry
parent 60fb26f6ba
commit 76a8ca3914
17 changed files with 57 additions and 99 deletions
+9 -10
View File
@@ -2,7 +2,7 @@ module(name = "codex")
bazel_dep(name = "bazel_lib", version = "3.2.2")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "platforms", version = "1.1.0")
bazel_lib_toolchains = use_extension("@bazel_lib//lib:extensions.bzl", "toolchains")
use_repo(bazel_lib_toolchains, "coreutils_toolchains")
@@ -165,7 +165,7 @@ bazel_dep(name = "rules_cc", version = "0.2.25")
bazel_dep(name = "rules_platform", version = "0.1.0")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "aws-lc", version = "5.1.0.bcr.3")
bazel_dep(name = "rules_rs", version = "0.0.96")
bazel_dep(name = "rules_rs", version = "0.2.3")
bazel_dep(name = "rules_foreign_cc", version = "0.15.1")
single_version_override(
module_name = "rules_foreign_cc",
@@ -211,19 +211,15 @@ use_repo(foreign_cc_tools, "cmake-3.31.8-windows-x86_64", "ninja_1.13.0_win", "p
register_toolchains("//third_party/voice:windows_ninja_toolchain")
archive_override(
single_version_override(
module_name = "rules_rs",
integrity = "sha256-b8sUj9EvM72+so/q4uRH91ed7QwOO8EoGbdL8NyBjE4=",
patch_strip = 1,
patches = [
"//patches:rules_rs_bindgen_v0_0_4.patch",
"//patches:rules_rs_build_script_deps_annotation.patch",
"//patches:rules_rs_rust_debug_modes.patch",
"//patches:rules_rs_workspace_package_version.patch",
"//patches:rules_rs_zlib_snapshot_urls.patch",
],
strip_prefix = "rules_rs-7a05511772a8a85db5382ff7536bf2f1e6a8dde3",
urls = ["https://github.com/hermeticbuild/rules_rs/archive/7a05511772a8a85db5382ff7536bf2f1e6a8dde3.tar.gz"],
)
rules_rust = use_extension("@rules_rs//rs:rules_rust.bzl", "rules_rust")
@@ -349,6 +345,7 @@ crate = use_extension("@rules_rs//rs:extensions.bzl", "crate")
crate.from_cargo(
cargo_lock = "//codex-rs:Cargo.lock",
cargo_toml = "//codex-rs:Cargo.toml",
incompatible_no_root_alias_targets = True,
platform_triples = [
"aarch64-unknown-linux-gnu",
"aarch64-unknown-linux-musl",
@@ -369,6 +366,8 @@ crate.from_cargo(
name = "argument_comment_lint_crates",
cargo_lock = "//tools/argument-comment-lint:Cargo.lock",
cargo_toml = "//tools/argument-comment-lint:Cargo.toml",
incompatible_no_root_alias_targets = True,
incompatible_no_root_crate_data = True,
platform_triples = [
"aarch64-unknown-linux-gnu",
"aarch64-unknown-linux-musl",
@@ -446,7 +445,7 @@ crate.annotation(
gen_build_script = "off",
repositories = ["crates"],
rustc_flags = ["--cfg=use_bindgen_pregenerated"],
deps = ["@crates//:aws_lc_sys_build_info"],
deps = ["@crates//aws_lc_sys_build_info"],
)
crate.annotation(
crate = "aws-lc-rs",
@@ -520,8 +519,8 @@ crate.annotation(
# MXC's resource compiler lookup needs an explicit path for Windows GNU targets.
crate.annotation(
build_script_deps = [
"@crates//:cc-1.2.55",
"@crates//:winresource-0.1.34",
"@crates//cc-1.2.55",
"@crates//winresource-0.1.34",
],
build_script_env = {
"RC_PATH": "$(execpath @llvm//tools:llvm-rc)",
+2
View File
@@ -233,6 +233,8 @@
"https://bcr.bazel.build/modules/rules_python/1.8.0/MODULE.bazel": "c151c025dbcc93d8f62ab68ecc313c9176a868a0e6386981bf2a12aec77cbe7b",
"https://bcr.bazel.build/modules/rules_python/2.4.2/MODULE.bazel": "fde4307b6765b6f261c40a2c08140a5d10e3aa9b6c12e23bb57d31b7ce124c29",
"https://bcr.bazel.build/modules/rules_python/2.4.2/source.json": "225828a44c27fa97ba8a594e6fd3b752061779f052d40c4bb5d6b45f2ded567b",
"https://bcr.bazel.build/modules/rules_rs/0.2.3/MODULE.bazel": "0f5051c62a5cd780e78169bc9154b9f9e15774486faa9d1c98c34bf8380dd48f",
"https://bcr.bazel.build/modules/rules_rs/0.2.3/source.json": "349ce52664a611a9a4a83f7533fe85ceb07d1e603493ccf472249a54a4a76fa7",
"https://bcr.bazel.build/modules/rules_shell/0.2.0/MODULE.bazel": "fda8a652ab3c7d8fee214de05e7a9916d8b28082234e8d2c0094505c5268ed3c",
"https://bcr.bazel.build/modules/rules_shell/0.3.0/MODULE.bazel": "de4402cd12f4cc8fda2354fce179fdb068c0b9ca1ec2d2b17b3e21b24c1a937b",
"https://bcr.bazel.build/modules/rules_shell/0.4.1/MODULE.bazel": "00e501db01bbf4e3e1dd1595959092c2fadf2087b2852d3f553b5370f5633592",
+1 -1
View File
@@ -35,7 +35,7 @@ def codex_e2e_benchmark(name, binaries = [], data = [], deps = []):
normal = True,
normal_dev = True,
) + [
"@crates//:divan",
"@crates//divan",
] + deps,
)
+6 -6
View File
@@ -21,11 +21,11 @@ rust_test(
deps = [
"//codex-rs/exec-server",
"//codex-rs/exec-server/tests/support",
"@crates//:anyhow",
"@crates//:pretty_assertions",
"@crates//:serde_json",
"@crates//:tempfile",
"@crates//:tokio",
"@crates//:wiremock",
"@crates//anyhow",
"@crates//pretty_assertions",
"@crates//serde_json",
"@crates//tempfile",
"@crates//tokio",
"@crates//wiremock",
],
)
+5 -5
View File
@@ -22,9 +22,9 @@ rust_library(
deps = [
"//codex-rs/utils/cargo-bin",
"//codex-rs/utils/pty",
"@crates//:anyhow",
"@crates//:tempfile",
"@crates//:tokio",
"@crates//anyhow",
"@crates//tempfile",
"@crates//tokio",
],
)
@@ -48,7 +48,7 @@ wine_rust_test(
"wine-smoke": ":windows-smoke",
},
deps = [
"@crates//:futures",
"@crates//:pretty_assertions",
"@crates//futures",
"@crates//pretty_assertions",
],
)
+4 -4
View File
@@ -5,15 +5,15 @@ package(default_visibility = ["//visibility:public"])
rust_library_group(
name = "prost_runtime",
deps = ["@crates//:prost"],
deps = ["@crates//prost"],
)
rust_library_group(
name = "tonic_runtime",
deps = [
":prost_runtime",
"@crates//:tonic",
"@crates//:tonic-prost",
"@crates//tonic",
"@crates//tonic-prost",
],
)
@@ -22,7 +22,7 @@ rust_prost_toolchain(
compile_well_known_types = False,
prost_plugin = "@rules_rs//rs/private/prost:protoc-gen-prost__protoc-gen-prost",
prost_runtime = ":prost_runtime",
prost_types = "@crates//:prost-types-0.14.3",
prost_types = "@crates//prost-types-0.14.3",
tonic_plugin = "@rules_rs//rs/private/prost:protoc-gen-tonic__protoc-gen-tonic",
tonic_plugin_flag = "--plugin=protoc-gen-tonic=%s",
tonic_runtime = ":tonic_runtime",
@@ -16,9 +16,9 @@ wine_rust_test(
"//codex-rs/features",
"//codex-rs/protocol",
"//codex-rs/utils/path-uri",
"@crates//:anyhow",
"@crates//:pretty_assertions",
"@crates//:serde_json",
"@crates//:tokio",
"@crates//anyhow",
"@crates//pretty_assertions",
"@crates//serde_json",
"@crates//tokio",
],
)
-5
View File
@@ -13,11 +13,6 @@ codex_rust_crate(
"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",
+5 -5
View File
@@ -11,8 +11,8 @@ rust_library(
deps = [
"//bazel/rules/testing/wine:wine_test_support",
"//codex-rs/utils/cargo-bin",
"@crates//:anyhow",
"@crates//:tokio",
"@crates//anyhow",
"@crates//tokio",
],
)
@@ -26,8 +26,8 @@ rust_binary(
visibility = ["//visibility:public"],
deps = [
":wine-exec-server-test-support",
"@crates//:anyhow",
"@crates//:tokio",
"@crates//anyhow",
"@crates//tokio",
],
)
@@ -42,6 +42,6 @@ rust_binary(
"//codex-rs/exec-server",
"//codex-rs/http-client",
"//codex-rs/utils/pty",
"@crates//:tokio",
"@crates//tokio",
],
)
-1
View File
@@ -4,7 +4,6 @@ codex_rust_crate(
name = "v8-poc",
crate_features = ["sandbox"],
crate_name = "codex_v8_poc",
deps_extra = ["@crates//:v8"],
# Bazel always builds the native pair required by the CppGC ABI checks.
unit_test_args = ["--include-ignored"],
)
-1
View File
@@ -18,7 +18,6 @@ exports_files([
"rules_rs_build_script_deps_annotation.patch",
"rules_rs_rust_debug_modes.patch",
"rules_rs_workspace_package_version.patch",
"rules_rs_zlib_snapshot_urls.patch",
"rusty_v8_prebuilt_out_dir.patch",
"ring_windows_msvc_include_dirs.patch",
"tikv-jemalloc-sys_make_env.patch",
@@ -4,17 +4,16 @@
diff --git a/rs/extensions.bzl b/rs/extensions.bzl
--- a/rs/extensions.bzl
+++ b/rs/extensions.bzl
@@ -359,8 +359,8 @@ def _generate_hub_and_spokes(
kwargs = dict(
@@ -324,7 +324,7 @@ crate.annotation(
hub_name = hub_name,
crate_visibility = visibility_with_internal_access(annotation.visibility, internal_packages),
crate_visibility = package["visibility"],
gen_build_script = annotation.gen_build_script,
- build_script_deps = [],
+ build_script_deps = annotation.build_script_deps,
build_script_deps_select = _select(feature_resolutions.build_deps),
build_script_deps_select = feature_resolutions.build_deps,
build_script_data = annotation.build_script_data,
build_script_data_select = annotation.build_script_data_select,
@@ -1094,9 +1094,9 @@ _annotation = tag_class(
@@ -996,9 +996,9 @@ _annotation = tag_class(
# "build_script_data_glob": attr.string_list(
# doc = "A list of glob patterns to add to a crate's `cargo_build_script::data` attribute",
# ),
@@ -30,7 +29,7 @@ diff --git a/rs/extensions.bzl b/rs/extensions.bzl
diff --git a/rs/private/annotations.bzl b/rs/private/annotations.bzl
--- a/rs/private/annotations.bzl
+++ b/rs/private/annotations.bzl
@@ -2,6 +2,7 @@ def _crate_annotation(
@@ -4,6 +4,7 @@ def _crate_annotation(
additive_build_file = None,
additive_build_file_content = "",
gen_build_script = "auto",
@@ -38,7 +37,7 @@ diff --git a/rs/private/annotations.bzl b/rs/private/annotations.bzl
build_script_data = [],
build_script_data_select = {},
build_script_env = {},
@@ -30,6 +31,7 @@ def _crate_annotation(
@@ -40,6 +41,7 @@ def _crate_annotation(
additive_build_file = additive_build_file,
additive_build_file_content = additive_build_file_content,
gen_build_script = gen_build_script,
@@ -49,7 +48,8 @@ diff --git a/rs/private/annotations.bzl b/rs/private/annotations.bzl
diff --git a/rs/private/repository_utils.bzl b/rs/private/repository_utils.bzl
--- a/rs/private/repository_utils.bzl
+++ b/rs/private/repository_utils.bzl
@@ -298,6 +298,6 @@ rust_crate_attrs = {
@@ -330,7 +330,7 @@ rust_crate_attrs = {
"crate_visibility": attr.label_list(default = ["//visibility:public"]),
"hub_name": attr.string(),
"gen_build_script": attr.string(),
- "build_script_deps": attr.label_list(),
@@ -1,16 +1,13 @@
# What: expose resolved Cargo workspace package names and versions in DEP_DATA.
# Scope: rules_rs workspace metadata only.
# Expose the resolved Cargo workspace package version in the generated metadata.
diff --git a/rs/private/cargo_workspace_graph.bzl b/rs/private/cargo_workspace_graph.bzl
--- a/rs/private/cargo_workspace_graph.bzl
+++ b/rs/private/cargo_workspace_graph.bzl
@@ -762,7 +762,9 @@ def workspace_dep_data(
"deps": deps,
"deps_by_platform": deps_by_platform,
"dev_deps": dev_deps,
"dev_deps_by_platform": dev_deps_by_platform,
@@ -654,6 +654,7 @@ def workspace_dep_data(
"edition": package.get("edition", "2015"),
+ "package_name": package["name"],
"package_name": package["name"],
"shared_libraries": shared_libraries,
+ "version": package["version"],
}
lint_config = lint_configs.get(bazel_package)
if lint_config:
-33
View File
@@ -1,33 +0,0 @@
# Backport the Linux zlib package pins and mirrors from rules_rs v0.2.2.
# https://github.com/hermeticbuild/rules_rs/commit/4c3d6ecc8fe94d373b818366ac3c52a31fffa277
diff --git a/rs/private/rustc_repository.bzl b/rs/private/rustc_repository.bzl
--- a/rs/private/rustc_repository.bzl
+++ b/rs/private/rustc_repository.bzl
@@ -56,18 +56,20 @@ filegroup(
_LINUX_ZLIB = {
"aarch64": struct(
libdir = "usr/lib/aarch64-linux-gnu",
- sha256 = "e55ab3b4fb7b6edc4a628e28ec13f8780b08abe427d33ae148f030d8586d0e9a",
+ sha256 = "84536bcf440cf0f988899b24b6c7df32cb9ff9f0dfa97d5e7efcc2dc088d15dc",
urls = [
- "https://launchpad.net/ubuntu/+archive/primary/+files/zlib1g_1.3.dfsg-3.1ubuntu2.2_arm64.deb",
- "https://snapshot.ubuntu.com/ubuntu/20260901T000000Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3.1ubuntu2.2_arm64.deb",
+ "https://ports.ubuntu.com/ubuntu-ports/pool/main/z/zlib/zlib1g_1.3.dfsg-3.1ubuntu2.3_arm64.deb",
+ "https://launchpad.net/ubuntu/+archive/primary/+files/zlib1g_1.3.dfsg-3.1ubuntu2.3_arm64.deb",
+ "https://snapshot.ubuntu.com/ubuntu/20261110T000000Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3.1ubuntu2.3_arm64.deb",
],
),
"x86_64": struct(
libdir = "usr/lib/x86_64-linux-gnu",
- sha256 = "84b9cf5752b29c9f92c27cd4c4ba9bbcc70b5ccf9b1b515421a28ae23212e273",
+ sha256 = "376249c8de139568221dbb242318cc8cb8f02299e3a62b7432948e1754fbddf9",
urls = [
- "https://launchpad.net/ubuntu/+archive/primary/+files/zlib1g_1.3.dfsg-3.1ubuntu2.2_amd64.deb",
- "https://snapshot.ubuntu.com/ubuntu/20260901T000000Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3.1ubuntu2.2_amd64.deb",
+ "https://archive.ubuntu.com/ubuntu/pool/main/z/zlib/zlib1g_1.3.dfsg-3.1ubuntu2.3_amd64.deb",
+ "https://launchpad.net/ubuntu/+archive/primary/+files/zlib1g_1.3.dfsg-3.1ubuntu2.3_amd64.deb",
+ "https://snapshot.ubuntu.com/ubuntu/20261110T000000Z/pool/main/z/zlib/zlib1g_1.3.dfsg-3.1ubuntu2.3_amd64.deb",
],
),
}
+4 -4
View File
@@ -28,9 +28,9 @@ cargo_build_script(
rustc_env = {"CARGO_PKG_VERSION": "0.9.118"},
version = "0.9.118",
deps = [
"@crates//:cc-1.2.55",
"@crates//:pkg-config-0.3.32",
"@crates//:vcpkg-0.2.15",
"@crates//cc-1.2.55",
"@crates//pkg-config-0.3.32",
"@crates//vcpkg-0.2.15",
],
)
@@ -45,6 +45,6 @@ rust_library(
version = "0.9.118",
deps = [
"build_script",
"@crates//:libc-0.2.186",
"@crates//libc-0.2.186",
],
)
+3 -3
View File
@@ -11,7 +11,7 @@ exports_files([
# Use bindings and native code from the same libsqlite3-sys release.
copy_to_directory(
name = "sqlite_bindings",
srcs = ["@crates//:libsqlite3_sys_bindings"],
srcs = ["@crates//libsqlite3_sys_bindings"],
include_external_repositories = ["*"],
replace_prefixes = {"sqlite3/bindgen_bundled_version.rs": "bindgen.rs"},
)
@@ -26,7 +26,7 @@ sqlite_build_info(
# Internal compilation options must not leak into dependent C/C++ targets.
cc_library(
name = "sqlite3",
srcs = ["@crates//:libsqlite3_sys_source"],
srcs = ["@crates//libsqlite3_sys_source"],
linkopts = select({
"@platforms//os:freebsd": ["-lpthread"],
"@platforms//os:linux": [
@@ -65,5 +65,5 @@ cc_library(
"@rules_rs//rs/platforms/config:x86_64-pc-windows-msvc": ["SQLITE_DISABLE_INTRINSIC"],
"//conditions:default": [],
}),
deps = ["@crates//:libsqlite3_sys_headers"],
deps = ["@crates//libsqlite3_sys_headers"],
)
+1 -1
View File
@@ -14,7 +14,7 @@ rust_library(
edition = "2024",
tags = ["manual"],
visibility = ["//visibility:public"],
deps = ["@argument_comment_lint_crates//:clippy_utils"],
deps = ["@argument_comment_lint_crates//clippy_utils"],
)
rust_binary(