CommandExecutorConfig
def CommandExecutorConfig(
*,
local_enabled: bool,
remote_enabled: bool,
remote_cache_enabled: None | bool = None,
remote_dep_file_cache_enabled: bool = False,
remote_execution_properties = None,
remote_execution_action_key = None,
remote_execution_max_input_files_mebibytes: None | int = None,
remote_execution_queue_time_threshold_s: None | int = None,
remote_execution_use_case = None,
use_limited_hybrid: bool = False,
allow_limited_hybrid_fallbacks: bool = False,
allow_hybrid_fallbacks_on_failure: bool = False,
use_windows_path_separators: bool = False,
use_persistent_workers: bool = False,
allow_cache_uploads: bool = False,
max_cache_upload_mebibytes: None | int = None,
experimental_low_pass_filter: bool = False,
remote_output_paths: None | str = None,
remote_execution_resource_units: None | int = None,
remote_execution_dependencies: list[dict[str, str]] = [],
remote_execution_dynamic_image = None,
) -> command_executor_config
Contains configurations for how actions should be executed
local_enabled
: Whether to use local execution for this execution platform. If both remote_enabled and local_enabled areTrue
, we will use the hybrid executorremote_enabled
: Whether to use remote execution for this execution platformremote_cache_enabled
: Whether to query RE cachesremote_execution_properties
: Properties for remote execution for this platformremote_execution_action_key
: A component to inject into the action key This should typically used to inject variability into the action key so that it's different across e.g. build modes (RE uses the action key for things like expected memory utilization)remote_execution_max_input_files_mebibytes
: The maximum input file size (in bytes) that remote execution can supportremote_execution_queue_time_threshold_s
: The maximum time in seconds we are willing to wait in the RE queue for remote execution to start running our actionremote_execution_use_case
: The use case to use when communicating with REuse_limited_hybrid
: Whether to use the limited hybrid executorallow_limited_hybrid_fallbacks
: Whether to allow fallbacksallow_hybrid_fallbacks_on_failure
: Whether to allow fallbacks when the result is failure (i.e. the command failed on the primary, but the infra worked)use_windows_path_separators
: Whether to use Windows path separators in command line argumentsuse_persistent workers
: Whether to use persistent workers for local execution if they are availableallow_cache_uploads
: Whether to upload local actions to the RE cachemax_cache_upload_mebibytes
: Maximum size to upload in cache uploadsexperimental_low_pass_filter
: Whether to use the experimental low pass filterremote_output_paths
: How to express output paths to REremote_execution_resource_units
: The resources (eg. GPUs) to use for remote executionremote_execution_dependencies
: Dependencies for remote execution for this platformremote_execution_custom_image
: Custom Tupperware image for remote execution for this platform