Update "put-shared" to allow some tags to fail per-repo (and collect errors)
This commit is contained in:
parent
90101d3445
commit
f36ef9d30b
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/codegangsta/cli"
|
"github.com/codegangsta/cli"
|
||||||
|
|
@ -114,6 +115,7 @@ func cmdPutShared(c *cli.Context) error {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
failed := []string{}
|
||||||
for _, group := range sharedTagGroups {
|
for _, group := range sharedTagGroups {
|
||||||
yaml, mostRecentPush, err := entriesToManifestToolYaml(singleArch, *r, group.Entries...)
|
yaml, mostRecentPush, err := entriesToManifestToolYaml(singleArch, *r, group.Entries...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -143,10 +145,15 @@ func cmdPutShared(c *cli.Context) error {
|
||||||
if !dryRun {
|
if !dryRun {
|
||||||
tagYaml := tagsToManifestToolYaml(targetRepo, tagsToPush...) + yaml
|
tagYaml := tagsToManifestToolYaml(targetRepo, tagsToPush...) + yaml
|
||||||
if err := manifestToolPushFromSpec(tagYaml); err != nil {
|
if err := manifestToolPushFromSpec(tagYaml); err != nil {
|
||||||
return fmt.Errorf("failed pushing %s", groupIdentifier)
|
fmt.Fprintf(os.Stderr, "warning: failed putting %s, skipping (collecting errors)", groupIdentifier)
|
||||||
|
failed = append(failed, fmt.Sprintf("- %s: %v", groupIdentifier, err))
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if len(failed) > 0 {
|
||||||
|
return fmt.Errorf("failed putting groups:\n%s", strings.Join(failed, "\n"))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue