in pkg/runner/step_parser.go [38:60]
func (p *Parser) parseStepType(globalCtx *GlobalContext, specDef *SpecDefinition, params *Params, loadedFrom StepReference) (Step, error) {
if specDef.IsTypeExec() {
return NewExecutableStep(loadedFrom, params, specDef), nil
}
if specDef.IsTypeSteps() {
var steps []Step
for _, stepReference := range specDef.Steps() {
stepResource, err := p.stepResParser.Parse(specDef.Dir(), stepReference.Step)
if err != nil {
return nil, err
}
steps = append(steps, NewLazilyLoadedStep(globalCtx, p, stepReference, stepResource))
}
return NewSequenceOfSteps(loadedFrom, params, specDef, steps...), nil
}
return nil, fmt.Errorf("unknown step definition type: %s", specDef.DescribeType())
}