From 04f17669ccd388f8fa062d34acbb2d2c657aa9aa Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Sat, 20 Jul 2019 18:31:04 -0300 Subject: [PATCH] feat(snap): allow previous in review process (#1070) Signed-off-by: Carlos Alexandro Becker --- internal/pipe/snapcraft/snapcraft.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/pipe/snapcraft/snapcraft.go b/internal/pipe/snapcraft/snapcraft.go index cda86ff8c..01f653a6e 100644 --- a/internal/pipe/snapcraft/snapcraft.go +++ b/internal/pipe/snapcraft/snapcraft.go @@ -277,13 +277,20 @@ func create(ctx *context.Context, snap config.Snapcraft, arch string, binaries [ return nil } +const reviewWaitMsg = `Waiting for previous upload(s) to complete their review process.` + func push(ctx *context.Context, snap artifact.Artifact) error { - log.WithField("snap", snap.Name).Info("pushing snap") + var log = log.WithField("snap", snap.Name) + log.Info("pushing snap") // TODO: customize --release based on snap.Grade? /* #nosec */ var cmd = exec.CommandContext(ctx, "snapcraft", "push", "--release=stable", snap.Path) if out, err := cmd.CombinedOutput(); err != nil { - return fmt.Errorf("failed to push %s package: %s", snap.Path, string(out)) + if strings.Contains(string(out), reviewWaitMsg) { + log.Warn(reviewWaitMsg) + } else { + return fmt.Errorf("failed to push %s package: %s", snap.Path, string(out)) + } } snap.Type = artifact.Snapcraft ctx.Artifacts.Add(snap)