Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckNames ¶
Verify that the pipeline name and pipeline stage names are valid.
Types ¶
type Parallelism ¶
type Pipeline ¶
type Pipeline struct { Name string Stages []*Stage Comment string Variables []Variable Commit bool Runtime time.Duration Version string }
func FindAndReplaceVariables ¶
Finds and replaces all variable names with their respective single values. On success it returns the file contents of the pipeline description file. For multi-value variables it will create one stage per variable value. We assume that these can run concurrently.
func ParseConfig ¶
Parses the pipeline configuration and returns the pipeline. It will verify that names are valid, find and replace variable names and create parallel pipeline stages.
func ReadPipelineDescription ¶
Read a pipeline description.
func (Pipeline) FixDependencies ¶
func (p Pipeline) FixDependencies()
Since we support parallelizing stages, a stage has to wait for automatically generated stages. E.g. if we have parallelized stage input_A and input_B, both with following stages process_A and process_B. process_A will have to wait for input_A, but the pipeline definition will only list `input` as a dependency. This function fixes and cleans up the "dependency graph". NOTE TO SELF: refactor this one jesus christ it's bad.
func (Pipeline) WritePipelineDescription ¶
Write a pipeline description to a file.