pub struct PipelineExecutor { /* private fields */ }Expand description
Pipeline executor configuration and runtime
The executor processes a ZPipeline manifest, resolving dependencies
and building images in parallel waves.
Implementations§
Source§impl PipelineExecutor
impl PipelineExecutor
Sourcepub fn new(
pipeline: ZPipeline,
base_dir: PathBuf,
executor: BuildahExecutor,
) -> Self
pub fn new( pipeline: ZPipeline, base_dir: PathBuf, executor: BuildahExecutor, ) -> Self
Create a new pipeline executor
§Arguments
pipeline- The parsedZPipelineconfigurationbase_dir- Base directory for resolving relative paths in the pipelineexecutor- The buildah executor to use for all builds
Sourcepub fn with_backend(
pipeline: ZPipeline,
base_dir: PathBuf,
backend: Arc<dyn BuildBackend>,
) -> Self
pub fn with_backend( pipeline: ZPipeline, base_dir: PathBuf, backend: Arc<dyn BuildBackend>, ) -> Self
Create a new pipeline executor with an explicit BuildBackend.
The backend is used for all build, push, and manifest operations.
A default BuildahExecutor is kept for backwards compatibility but
is not used when a backend is set.
§Arguments
pipeline- The parsedZPipelineconfigurationbase_dir- Base directory for resolving relative paths in the pipelinebackend- The build backend to use for all operations
Sourcepub fn fail_fast(self, fail_fast: bool) -> Self
pub fn fail_fast(self, fail_fast: bool) -> Self
Set fail-fast mode (default: true)
When enabled, the executor will abort immediately when any image fails to build. When disabled, it will continue building independent images even after failures.
Sourcepub fn push(self, enabled: bool) -> Self
pub fn push(self, enabled: bool) -> Self
Enable or disable pushing (overrides pipeline.push.after_all)
When enabled and all builds succeed, images will be pushed to their configured registries.
Sourcepub async fn run(&self) -> Result<PipelineResult>
pub async fn run(&self) -> Result<PipelineResult>
Execute the pipeline
Builds all images in dependency order, with images in the same wave running in parallel.
§Returns
A PipelineResult containing information about successful and failed builds.
§Errors
Returns an error if:
- The dependency graph is invalid (missing deps, cycles)
- Any build fails and
fail_fastis enabled
Auto Trait Implementations§
impl Freeze for PipelineExecutor
impl !RefUnwindSafe for PipelineExecutor
impl Send for PipelineExecutor
impl Sync for PipelineExecutor
impl Unpin for PipelineExecutor
impl UnsafeUnpin for PipelineExecutor
impl !UnwindSafe for PipelineExecutor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more