fix: prompt, skip adding if next present
All checks were successful
continuous-integration/drone/push Build is passing

#486
This commit is contained in:
decentral1se 2025-01-17 17:46:41 +01:00
parent 64ad60663f
commit 8a7fe4ca07
Signed by: decentral1se
GPG Key ID: 03789458B3D0C410

View File

@ -267,6 +267,8 @@ func addReleaseNotes(recipe recipe.Recipe, tag string) error {
return err return err
} }
var addNextAsReleaseNotes bool
nextReleaseNotePath := path.Join(releaseDir, "next") nextReleaseNotePath := path.Join(releaseDir, "next")
if _, err := os.Stat(nextReleaseNotePath); err == nil { if _, err := os.Stat(nextReleaseNotePath); err == nil {
// release/next note exists. Move it to release/<tag> // release/next note exists. Move it to release/<tag>
@ -276,38 +278,37 @@ func addReleaseNotes(recipe recipe.Recipe, tag string) error {
} }
if !internal.NoInput { if !internal.NoInput {
prompt := &survey.Input{ prompt := &survey.Confirm{
Message: "Use release note in release/next?", Message: "Use release note in release/next?",
} }
var addReleaseNote bool
if err := survey.AskOne(prompt, &addReleaseNote); err != nil { if err := survey.AskOne(prompt, &addNextAsReleaseNotes); err != nil {
return err return err
} }
if !addReleaseNote {
if !addNextAsReleaseNotes {
return nil return nil
} }
} }
err := os.Rename(nextReleaseNotePath, tagReleaseNotePath) if err := os.Rename(nextReleaseNotePath, tagReleaseNotePath); err != nil {
if err != nil {
return err return err
} }
err = gitPkg.Add(recipe.Dir, path.Join("release", "next"), internal.Dry) if err := gitPkg.Add(recipe.Dir, path.Join("release", "next"), internal.Dry); err != nil {
if err != nil {
return err return err
} }
err = gitPkg.Add(recipe.Dir, path.Join("release", tag), internal.Dry) if err := gitPkg.Add(recipe.Dir, path.Join("release", tag), internal.Dry); err != nil {
if err != nil {
return err return err
} }
} else if !errors.Is(err, os.ErrNotExist) { } else if !errors.Is(err, os.ErrNotExist) {
return err return err
} }
// No release note exists for the current release. // NOTE(d1): No release note exists for the current release. Or, we've
if internal.NoInput { // already used release/next as the release note
if internal.NoInput || addNextAsReleaseNotes {
return nil return nil
} }