workflow

package
v1.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const FailureStrategyFailFast = generic.FailureStrategyFailFast

FailureStrategyFailFast indicates that workflow should stop on first failure. Deprecated: Use generic workflow.FailureStrategyFailFast instead.

Variables

This section is empty.

Functions

func ContainerPipelineWorkflow

func ContainerPipelineWorkflow(ctx wf.Context, input payload.PipelineInput) (*payload.PipelineOutput, error)

ContainerPipelineWorkflow executes containers sequentially.

func DAGWorkflow

func DAGWorkflow(ctx wf.Context, input payload.DAGWorkflowInput) (*payload.DAGWorkflowOutput, error)

DAGWorkflow executes containers in a DAG (Directed Acyclic Graph) pattern. This allows for complex dependencies between containers where execution order is determined by the dependency graph rather than simple sequential or parallel execution.

Example:

input := payload.DAGWorkflowInput{
    Nodes: []payload.DAGNode{
        {Name: "build", Container: buildInput},
        {Name: "test", Container: testInput, Dependencies: []string{"build"}},
        {Name: "deploy", Container: deployInput, Dependencies: []string{"test"}},
    },
}
output, err := docker.DAGWorkflow(ctx, input)

func ExecuteContainerWorkflow

func ExecuteContainerWorkflow(ctx wf.Context, input payload.ContainerExecutionInput) (*payload.ContainerExecutionOutput, error)

ExecuteContainerWorkflow runs a single container and returns results.

func ExtractOutput

func ExtractOutput(def payload.OutputDefinition, containerOutput *payload.ContainerExecutionOutput) (string, error)

ExtractOutput extracts a value from container output based on the definition.

func ExtractOutputs

func ExtractOutputs(definitions []payload.OutputDefinition, containerOutput *payload.ContainerExecutionOutput) (map[string]string, error)

ExtractOutputs extracts all outputs defined in the list.

func GenericContainerPipelineWorkflow added in v1.16.0

GenericContainerPipelineWorkflow executes containers sequentially using generic types directly. This is the preferred entry point for new code.

func GenericParallelContainersWorkflow added in v1.16.0

GenericParallelContainersWorkflow executes multiple containers in parallel using generic types directly. This is the preferred entry point for new code.

func LoopWorkflow

func LoopWorkflow(ctx wf.Context, input payload.LoopInput) (*payload.LoopOutput, error)

LoopWorkflow executes containers in a loop over items (withItems pattern).

func ParallelContainersWorkflow

func ParallelContainersWorkflow(ctx wf.Context, input payload.ParallelInput) (*payload.ParallelOutput, error)

ParallelContainersWorkflow executes multiple containers in parallel.

func ParameterizedLoopWorkflow

func ParameterizedLoopWorkflow(ctx wf.Context, input payload.ParameterizedLoopInput) (*payload.LoopOutput, error)

ParameterizedLoopWorkflow executes containers with parameterized loops (withParam pattern).

func SubstituteInputs

func SubstituteInputs(containerInput *payload.ContainerExecutionInput, inputs []payload.InputMapping, stepOutputs map[string]map[string]string) error

SubstituteInputs applies input mappings to container environment variables. It resolves step outputs and substitutes them into the container input.

func WorkflowWithParameters

WorkflowWithParameters executes a workflow with input parameters.

Parameters are substituted in environment variables and commands.

Example:

input := payload.ContainerExecutionInput{
    Image: "alpine:latest",
    Command: []string{"echo", "{{.version}}"},
    Env: map[string]string{"VERSION": "{{.version}}"},
}
params := []payload.WorkflowParameter{
    {Name: "version", Value: "v1.2.3"},
}
output, err := docker.WorkflowWithParameters(ctx, input, params)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL