@@ -78,9 +78,8 @@ pub enum ToolInstallStatus {
7878pub enum ExecutorSupport {
7979 /// The executor cannot run on this OS at all — `run_executor` hard-bails.
8080 Unsupported ,
81- /// The executor runs on this OS, but the user is responsible for installing the required
82- /// tooling themselves; `setup()` is skipped.
83- RequiresManualSetup ,
81+ /// The executor runs on this OS, but the user is responsible for installing the required tooling themselves.
82+ RequiresManualInstallation ,
8483 /// The executor runs on this OS and `setup()` knows how to auto-install tooling.
8584 FullySupported ,
8685}
@@ -90,7 +89,7 @@ pub trait Executor {
9089 fn name ( & self ) -> ExecutorName ;
9190
9291 /// Report the installation status of the tool(s) this executor depends on.
93- fn tool_status ( & self ) -> ToolStatus ;
92+ fn tool_status ( & self ) -> Option < ToolStatus > ;
9493
9594 /// Declare how well this executor runs on the host OS. Drives whether `setup()` is invoked
9695 /// (only when [`ExecutorSupport::FullySupported`]) and whether we bail out of running the
@@ -132,16 +131,7 @@ pub async fn run_executor(
132131 orchestrator. system_info. os
133132 ) ;
134133 }
135- ExecutorSupport :: RequiresManualSetup => {
136- if !execution_context. config . skip_setup {
137- info ! (
138- "Skipping automatic setup for the {} executor on {}; ensure required tooling is installed manually." ,
139- executor. name( ) ,
140- orchestrator. system_info. os
141- ) ;
142- }
143- }
144- ExecutorSupport :: FullySupported => {
134+ ExecutorSupport :: RequiresManualInstallation | ExecutorSupport :: FullySupported => {
145135 if !execution_context. config . skip_setup {
146136 executor
147137 . setup ( & orchestrator. system_info , setup_cache_dir)
0 commit comments