From 4c6d52c426485bb774195658d788f2357ae285cc Mon Sep 17 00:00:00 2001 From: cellarspoon Date: Wed, 22 Dec 2021 14:01:49 +0100 Subject: [PATCH] fix: clean up if things go wrong --- cli/recipe/release.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cli/recipe/release.go b/cli/recipe/release.go index 55c29567d..4c9dcfa89 100644 --- a/cli/recipe/release.go +++ b/cli/recipe/release.go @@ -129,6 +129,9 @@ You may invoke this command in "wizard" mode and be prompted for input: } if err := createReleaseFromTag(recipe, initTag, mainAppVersion); err != nil { + if cleanUpErr := cleanUpTag(initTag, recipe.Name); err != nil { + logrus.Fatal(cleanUpErr) + } logrus.Fatal(err) } } @@ -410,3 +413,20 @@ func createReleaseFromPreviousTag(tagString, mainAppVersion string, recipe recip return nil } + +// cleanUpTag removes a freshly created tag +func cleanUpTag(tag, recipeName string) error { + directory := path.Join(config.APPS_DIR, recipeName) + repo, err := git.PlainOpen(directory) + if err != nil { + return err + } + + if err := repo.DeleteTag(tag); err != nil { + return err + } + + logrus.Warn("removed freshly created tag %s") + + return nil +}