From 74108b0dd91c8c0322e821c3aeaf6b3e5f704e37 Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Sat, 28 Dec 2024 17:06:35 +0100 Subject: [PATCH] fix: create release dir in recipe if not exists #660 --- cli/recipe/release.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cli/recipe/release.go b/cli/recipe/release.go index f1a07d40..660de687 100644 --- a/cli/recipe/release.go +++ b/cli/recipe/release.go @@ -252,7 +252,14 @@ func getTagCreateOptions(tag string) (git.CreateTagOptions, error) { // addReleaseNotes checks if the release/next release note exists and moves the // file to release/. func addReleaseNotes(recipe recipe.Recipe, tag string) error { - tagReleaseNotePath := path.Join(recipe.Dir, "release", tag) + releaseDir := path.Join(recipe.Dir, "release") + if _, err := os.Stat(releaseDir); errors.Is(err, os.ErrNotExist) { + if err := os.Mkdir(releaseDir, 0755); err != nil { + return err + } + } + + tagReleaseNotePath := path.Join(releaseDir, tag) if _, err := os.Stat(tagReleaseNotePath); err == nil { // Release note for current tag already exist exists. return nil @@ -260,7 +267,7 @@ func addReleaseNotes(recipe recipe.Recipe, tag string) error { return err } - nextReleaseNotePath := path.Join(recipe.Dir, "release", "next") + nextReleaseNotePath := path.Join(releaseDir, "next") if _, err := os.Stat(nextReleaseNotePath); err == nil { // release/next note exists. Move it to release/ if internal.Dry {