support for fast failure

This commit is contained in:
Brad Rydzewski
2019-12-09 15:35:03 -08:00
parent f746e00e7c
commit a4675cb5ca
8 changed files with 15 additions and 142 deletions

View File

@@ -28,7 +28,6 @@ func createStep(spec *resource.Pipeline, src *resource.Step) *engine.Step {
DNSSearch: src.DNSSearch,
Envs: convertStaticEnv(src.Environment),
ExtraHosts: src.ExtraHosts,
IgnoreErr: strings.EqualFold(src.Failure, "ignore"),
IgnoreStderr: false,
IgnoreStdout: false,
Network: src.Network,
@@ -101,5 +100,14 @@ func createStep(spec *resource.Pipeline, src *resource.Step) *engine.Step {
dst.RunPolicy = runtime.RunOnFailure
}
// set the pipeline failure policy. steps can choose
// to ignore the failure, or fail fast.
switch src.Failure {
case "ignore":
dst.ErrPolicy = runtime.ErrIgnore
case "fast", "fast-fail", "fail-fast":
dst.ErrPolicy = runtime.ErrFailFast
}
return dst
}