in cli_tools/gce_image_publish/publish/publish.go [212:265]
func (p *Publish) CreateWorkflows(ctx context.Context, varMap map[string]string, regex *regexp.Regexp, rollback, skipDup, replace, noRoot bool, oauth string, rolloutStartTime time.Time, rolloutRate int, clientOptions ...option.ClientOption) ([]*daisy.Workflow, error) {
fmt.Printf("[%q] Preparing workflows from template\n", p.Name)
var ws []*daisy.Workflow
for _, img := range p.Images {
if regex != nil && !regex.MatchString(img.Prefix) {
continue
}
w, err := p.createWorkflow(ctx, img, varMap, rollback, skipDup, replace, noRoot, oauth, rolloutStartTime, rolloutRate, clientOptions...)
if err != nil {
return nil, err
}
if w == nil {
continue
}
ws = append(ws, w)
}
if len(ws) == 0 {
fmt.Println(" Nothing to do.")
return nil, nil
}
if len(p.toCreate) > 0 {
fmt.Printf(" The following images will be created in %q:\n", p.PublishProject)
printList(p.toCreate)
}
if len(p.toDeprecate) > 0 {
fmt.Printf(" The following images will be deprecated in %q:\n", p.PublishProject)
printList(p.toDeprecate)
}
if len(p.toObsolete) > 0 {
fmt.Printf(" The following images will be obsoleted in %q:\n", p.PublishProject)
printList(p.toObsolete)
}
if len(p.toUndeprecate) > 0 {
fmt.Printf(" The following images will be un-deprecated in %q:\n", p.PublishProject)
printList(p.toUndeprecate)
}
if len(p.toDelete) > 0 {
fmt.Printf(" The following images will be deleted in %q:\n", p.PublishProject)
printList(p.toDelete)
}
if len(p.rolloutPolicy) > 0 {
fmt.Println(" All images will have the following rollout policy:")
printList(p.rolloutPolicy)
}
return ws, nil
}