in graph/step.go [302:333]
func (s *Step) GetCmdWithCacheFlags(taskName, registry string) (string, error) {
var domain, path, firstTagPath string
var err error
if strings.ToLower(s.Cache) != enabled {
return "", errors.New("cache needs to be set to 'enabled' to use build cache")
}
if len(s.Tags) == 0 {
return s.Build, nil
}
for idx, tag := range s.Tags {
domain, path, err = getDomainPath(tag)
if err != nil {
return "", errors.Wrap(err, "failed to parse the tag into a domain and path")
}
if idx == 0 {
firstTagPath = path
}
if domain != "" {
break
}
}
if domain == "" {
domain = registry
path = firstTagPath
}
s.DefaultBuildCacheTag = GetBuildCacheImageTag(taskName, s.ID)
return addBuildCacheOptsToCmd(domain, path, s.DefaultBuildCacheTag, s.Build)
}