pub trait StepRunner:
Send
+ Sync
+ Debug {
// Required methods
fn name(&self) -> &str;
fn execute(
&self,
ctx: &RunContext,
input: ExecutorInput,
) -> Pin<Box<dyn Future<Output = Result<StepResult>> + Send + '_>>;
}Expand description
Async trait implemented by step executors (e.g. the Docker runner).
Each runner is identified by a string Self::name that pipeline
authors reference in their step definitions.
The execute method returns a boxed future so the trait remains
dyn-compatible (async fn in trait is not object-safe).
Required Methods§
Sourcefn execute(
&self,
ctx: &RunContext,
input: ExecutorInput,
) -> Pin<Box<dyn Future<Output = Result<StepResult>> + Send + '_>>
fn execute( &self, ctx: &RunContext, input: ExecutorInput, ) -> Pin<Box<dyn Future<Output = Result<StepResult>> + Send + '_>>
Execute a single pipeline step.
§Errors
Implementations should return Err for infrastructure failures
(container boot failure, network error, etc.). A non-zero exit
code from the user command is not an error — it is reported
via StepResult::exit_code.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".