From 9c46f1e2f634412730b9d7179793fcd02d85c966 Mon Sep 17 00:00:00 2001 From: Ian Childs Date: Thu, 6 Mar 2025 04:43:42 -0800 Subject: [PATCH] Never add .buckconfig to RE actions Summary: Backout of D69535235, plus remove the code that inserts .buckconfig to all actions. Reviewed By: iguridi Differential Revision: D70614437 fbshipit-source-id: c3ceb90badf4ce5043094c395b25a75e1178518f --- .../src/actions/impls/run.rs | 2 -- .../src/actions/execute/action_executor.rs | 2 -- .../src/actions/impls/run_action_knobs.rs | 4 --- .../src/actions/testings.rs | 2 -- app/buck2_execute/src/execute/request.rs | 14 ----------- app/buck2_server/src/ctx.rs | 4 --- app/buck2_server/src/daemon/state.rs | 12 --------- app/buck2_test/src/orchestrator.rs | 25 ++----------------- 8 files changed, 2 insertions(+), 63 deletions(-) diff --git a/app/buck2_action_impl/src/actions/impls/run.rs b/app/buck2_action_impl/src/actions/impls/run.rs index aa5d636c4caf6..0ebfa7576fcf5 100644 --- a/app/buck2_action_impl/src/actions/impls/run.rs +++ b/app/buck2_action_impl/src/actions/impls/run.rs @@ -493,8 +493,6 @@ impl RunAction { .collect(), ctx.fs(), ctx.digest_config(), - ctx.run_action_knobs() - .add_empty_dot_buckconfig_to_re_commands, )?; Ok(PreparedRunAction { diff --git a/app/buck2_build_api/src/actions/execute/action_executor.rs b/app/buck2_build_api/src/actions/execute/action_executor.rs index 9a6ae06bf826a..72c02c9e445e6 100644 --- a/app/buck2_build_api/src/actions/execute/action_executor.rs +++ b/app/buck2_build_api/src/actions/execute/action_executor.rs @@ -866,8 +866,6 @@ mod tests { .collect(), ctx.fs(), ctx.digest_config(), - ctx.run_action_knobs() - .add_empty_dot_buckconfig_to_re_commands, )?, SortedVectorMap::new(), ); diff --git a/app/buck2_build_api/src/actions/impls/run_action_knobs.rs b/app/buck2_build_api/src/actions/impls/run_action_knobs.rs index bb0b82c2b5118..6518e0eeb37da 100644 --- a/app/buck2_build_api/src/actions/impls/run_action_knobs.rs +++ b/app/buck2_build_api/src/actions/impls/run_action_knobs.rs @@ -24,10 +24,6 @@ pub struct RunActionKnobs { /// for network actions (download_file, cas_artifact). Used to support offline /// builds. pub use_network_action_output_cache: bool, - - /// Whether to add an empty .buckconfig file to RE commands. This is needed to safely - /// kill this behavior. - pub add_empty_dot_buckconfig_to_re_commands: bool, } pub trait HasRunActionKnobs { diff --git a/app/buck2_build_api_tests/src/actions/testings.rs b/app/buck2_build_api_tests/src/actions/testings.rs index 72c837b470faa..6d5966399deb8 100644 --- a/app/buck2_build_api_tests/src/actions/testings.rs +++ b/app/buck2_build_api_tests/src/actions/testings.rs @@ -145,8 +145,6 @@ impl Action for SimpleAction { .collect(), ctx.fs(), ctx.digest_config(), - ctx.run_action_knobs() - .add_empty_dot_buckconfig_to_re_commands, )?, sorted_vector_map![], ); diff --git a/app/buck2_execute/src/execute/request.rs b/app/buck2_execute/src/execute/request.rs index 17b8083f5a671..ba243adb318e4 100644 --- a/app/buck2_execute/src/execute/request.rs +++ b/app/buck2_execute/src/execute/request.rs @@ -11,7 +11,6 @@ use std::sync::Arc; use std::time::Duration; use allocative::Allocative; -use buck2_common::file_ops::FileMetadata; use buck2_common::file_ops::TrackedFileDigest; use buck2_common::local_resource_state::LocalResourceState; use buck2_core::execution_types::executor_config::MetaInternalExtraParams; @@ -26,7 +25,6 @@ use buck2_core::fs::project_rel_path::ProjectRelativePathBuf; use buck2_core::soft_error; use buck2_directory::directory::directory::Directory; use buck2_directory::directory::directory_iterator::DirectoryIterator; -use buck2_directory::directory::entry::DirectoryEntry; use buck2_error::buck2_error; use derive_more::Display; use dupe::Dupe; @@ -42,7 +40,6 @@ use starlark_map::sorted_set::SortedSet; use super::dep_file_digest::DepFileDigest; use crate::artifact::group::artifact_group_values_dyn::ArtifactGroupValuesDyn; use crate::digest_config::DigestConfig; -use crate::directory::insert_entry; use crate::directory::ActionDirectoryMember; use crate::directory::ActionImmutableDirectory; use crate::execute::environment_inheritance::EnvironmentInheritance; @@ -218,7 +215,6 @@ impl CommandExecutionPaths { outputs: IndexSet, fs: &ArtifactFs, digest_config: DigestConfig, - add_empty_dot_buckconfig: bool, ) -> buck2_error::Result { let mut builder = inputs_directory(&inputs, fs)?; @@ -245,16 +241,6 @@ impl CommandExecutionPaths { }) .collect::>>()?; - if add_empty_dot_buckconfig { - insert_entry( - &mut builder, - ProjectRelativePath::unchecked_new(".buckconfig"), - DirectoryEntry::Leaf(ActionDirectoryMember::File(FileMetadata::empty( - digest_config.cas_digest_config(), - ))), - )?; - } - let input_directory = builder.fingerprint(digest_config.as_directory_serializer()); let mut input_files_bytes = 0; diff --git a/app/buck2_server/src/ctx.rs b/app/buck2_server/src/ctx.rs index ece20da24a071..ca8e277129985 100644 --- a/app/buck2_server/src/ctx.rs +++ b/app/buck2_server/src/ctx.rs @@ -372,10 +372,6 @@ impl<'a> ServerCommandContext<'a> { .daemon .use_network_action_output_cache, eager_dep_files, - add_empty_dot_buckconfig_to_re_commands: self - .base_context - .daemon - .add_empty_dot_buckconfig_to_re_commands, }; let concurrency = self diff --git a/app/buck2_server/src/daemon/state.rs b/app/buck2_server/src/daemon/state.rs index 74bbe9bb18666..4fc105940df92 100644 --- a/app/buck2_server/src/daemon/state.rs +++ b/app/buck2_server/src/daemon/state.rs @@ -150,10 +150,6 @@ pub struct DaemonStateData { /// Whether or not to hash all commands pub hash_all_commands: bool, - /// Whether to add an empty .buckconfig file to RE commands. This is needed to safely - /// kill this behavior. - pub add_empty_dot_buckconfig_to_re_commands: bool, - /// Whether to consult the offline-cache buck-out dir for network action /// outputs prior to running them. If no cached output exists, the action /// (download_file, cas_artifact) will execute normally. @@ -570,13 +566,6 @@ impl DaemonState { .unwrap_or_else(RolloutPercentage::never) .roll(); - let add_empty_dot_buckconfig_to_re_commands = root_config - .parse(BuckconfigKeyRef { - section: "buck2", - property: "add_empty_dot_buckconfig_to_re_commands", - })? - .unwrap_or(true); - let use_network_action_output_cache = root_config .parse(BuckconfigKeyRef { section: "buck2", @@ -658,7 +647,6 @@ impl DaemonState { forkserver, scribe_sink, hash_all_commands, - add_empty_dot_buckconfig_to_re_commands, use_network_action_output_cache, disk_state_options, start_time: std::time::Instant::now(), diff --git a/app/buck2_test/src/orchestrator.rs b/app/buck2_test/src/orchestrator.rs index c6530c136f09f..5b7e9a79f956c 100644 --- a/app/buck2_test/src/orchestrator.rs +++ b/app/buck2_test/src/orchestrator.rs @@ -28,7 +28,6 @@ use buck2_build_api::actions::artifact::get_artifact_fs::GetArtifactFs; use buck2_build_api::actions::execute::dice_data::CommandExecutorResponse; use buck2_build_api::actions::execute::dice_data::DiceHasCommandExecutor; use buck2_build_api::actions::execute::dice_data::GetReClient; -use buck2_build_api::actions::impls::run_action_knobs::HasRunActionKnobs; use buck2_build_api::analysis::calculation::RuleAnalysisCalculation; use buck2_build_api::artifact_groups::calculation::ArtifactGroupCalculation; use buck2_build_api::artifact_groups::ArtifactGroup; @@ -1387,20 +1386,10 @@ impl<'b> BuckTestOrchestrator<'b> { .map(|(path, create)| CommandExecutionOutput::TestPath { path, create }) .collect(); let digest_config = dice.global_data().get_digest_config(); - let add_dot_buckconfig_to_re_command = dice - .per_transaction_data() - .get_run_action_knobs() - .add_empty_dot_buckconfig_to_re_commands; let mut request = CommandExecutionRequest::new( vec![], cmd, - CommandExecutionPaths::new( - inputs, - outputs, - fs, - digest_config, - add_dot_buckconfig_to_re_command, - )?, + CommandExecutionPaths::new(inputs, outputs, fs, digest_config)?, env, ); request = request @@ -1502,10 +1491,6 @@ impl<'b> BuckTestOrchestrator<'b> { default_timeout: Duration, ) -> anyhow::Result { let digest_config = dice.global_data().get_digest_config(); - let add_dot_buckconfig_to_re_command = dice - .per_transaction_data() - .get_run_action_knobs() - .add_empty_dot_buckconfig_to_re_commands; let inputs = dice .try_compute_join(context.input_artifacts, |dice, group| { @@ -1516,13 +1501,7 @@ impl<'b> BuckTestOrchestrator<'b> { .into_iter() .map(|group_values| CommandExecutionInput::Artifact(Box::new(group_values))) .collect(); - let paths = CommandExecutionPaths::new( - inputs, - indexset![], - fs, - digest_config, - add_dot_buckconfig_to_re_command, - )?; + let paths = CommandExecutionPaths::new(inputs, indexset![], fs, digest_config)?; let mut execution_request = CommandExecutionRequest::new(vec![], context.cmd, paths, Default::default()); execution_request =