in error.go [74:91]
func (je *JobError) RootCause() error {
// this step failed, return the error
if je.Code == ErrStepFailed {
return je
}
// precendent step failure, track to the root
if je.Code == ErrPrecedentStepFailed {
precedentStepErr := &JobError{}
if !errors.As(je.StepError, &precedentStepErr) {
return je.StepError
}
return precedentStepErr.RootCause()
}
// no idea
return je
}