From f6bba6e43d7f21ca1fe1f301df3136e740df8393 Mon Sep 17 00:00:00 2001 From: kotlaja Date: Wed, 4 Oct 2023 19:20:45 +0200 Subject: [PATCH] Add `toolchain` parameter to the affected actions (#2140) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is part of the migration of Automatic Exec Groups ([AEGs design doc](https://docs.google.com/document/d/1-rbP_hmKs9D639YWw5F_JyxPxL2bi6dSmmvj_WXak9M/edit#heading=h.5mcn15i0e1ch)). In this PR I've added a `toolchain` param to the affected actions (actions for which we can't detect if their tools/executable are coming from a toolchain). That's why sometimes it's set to None. The `toolchain` param is visible from Bazel 6.0, which rules_rust already supports. **Important note to reviewers**: Please check if the correct toolchain type is added for each action. I’ve done my best, but additional precaution is not harmful. 🙂 Also note that this toolchain param is not used right now since AEGs are still not enabled (there should be no errors). This is mostly step forward for the internal changes, and I will focus on enabling AEGs in Bazel after it's fully tested inside Google. --- cargo/private/cargo_build_script.bzl | 1 + rust/private/clippy.bzl | 1 + rust/private/rustc.bzl | 3 +++ 3 files changed, 5 insertions(+) diff --git a/cargo/private/cargo_build_script.bzl b/cargo/private/cargo_build_script.bzl index b017f3318e..4609b5bc6c 100644 --- a/cargo/private/cargo_build_script.bzl +++ b/cargo/private/cargo_build_script.bzl @@ -256,6 +256,7 @@ def _cargo_build_script_impl(ctx): mnemonic = "CargoBuildScriptRun", progress_message = "Running Cargo build script {}".format(pkg_name), env = env, + toolchain = None, ) return [ diff --git a/rust/private/clippy.bzl b/rust/private/clippy.bzl index 071ca29c20..0f1f35ab82 100644 --- a/rust/private/clippy.bzl +++ b/rust/private/clippy.bzl @@ -178,6 +178,7 @@ See https://github.com/bazelbuild/rules_rust/pull/1264#discussion_r853241339 for tools = [toolchain.clippy_driver], arguments = args.all, mnemonic = "Clippy", + toolchain = "@rules_rust//rust:toolchain_type", ) return [ diff --git a/rust/private/rustc.bzl b/rust/private/rustc.bzl index e76c20bde0..501e1403d2 100644 --- a/rust/private/rustc.bzl +++ b/rust/private/rustc.bzl @@ -1268,6 +1268,7 @@ def rustc_compile_action( formatted_version, len(crate_info.srcs.to_list()), ), + toolchain = "@rules_rust//rust:toolchain_type", ) if args_metadata: ctx.actions.run( @@ -1283,6 +1284,7 @@ def rustc_compile_action( formatted_version, len(crate_info.srcs.to_list()), ), + toolchain = "@rules_rust//rust:toolchain_type", ) else: # Run without process_wrapper @@ -1301,6 +1303,7 @@ def rustc_compile_action( formatted_version, len(crate_info.srcs.to_list()), ), + toolchain = "@rules_rust//rust:toolchain_type", ) if experimental_use_cc_common_link: