refactor: clarify release recommendation internals

This commit is contained in:
Micheal Wilkinson
2026-03-20 23:24:35 +00:00
parent cdfe75f360
commit f96458344a

View File

@@ -19,7 +19,7 @@ const (
defaultVersionFile = "release-version" defaultVersionFile = "release-version"
defaultVersionExpr = `^\s*([^\r\n]+)\s*$` defaultVersionExpr = `^\s*([^\r\n]+)\s*$`
defaultChangelog = "changelog.md" defaultChangelog = "changelog.md"
defaultUnreleasedBody = "### Breaking\n\n### Added\n\n### Changed\n\n### Removed\n\n### Fixed\n" defaultUnreleasedTemplate = "### Breaking\n\n### Added\n\n### Changed\n\n### Removed\n\n### Fixed\n"
) )
var releasedSectionRe = regexp.MustCompile(`(?m)^## \[(\d+\.\d+\.\d+)\] - `) var releasedSectionRe = regexp.MustCompile(`(?m)^## \[(\d+\.\d+\.\d+)\] - `)
@@ -105,7 +105,7 @@ func RecommendedTag(rootDir string, options Options) (string, error) {
} }
var currentVersion string var currentVersion string
noPriorRelease := false isFirstRelease := false
if options.VersionFile != "" { if options.VersionFile != "" {
currentVersion, err = readCurrentVersion(rootDir, resolved) currentVersion, err = readCurrentVersion(rootDir, resolved)
if err != nil { if err != nil {
@@ -118,7 +118,7 @@ func RecommendedTag(rootDir string, options Options) (string, error) {
} }
if !found { if !found {
currentVersion = "0.0.0" currentVersion = "0.0.0"
noPriorRelease = true isFirstRelease = true
} else { } else {
currentVersion = version currentVersion = version
} }
@@ -134,7 +134,7 @@ func RecommendedTag(rootDir string, options Options) (string, error) {
return "", err return "", err
} }
if noPriorRelease { if isFirstRelease {
return "v1.0.0", nil return "v1.0.0", nil
} }
@@ -243,7 +243,7 @@ func updateChangelog(rootDir, version, releaseDate, changelogPath string) error
newSection += "\n" newSection += "\n"
} }
updated := text[:afterHeader] + "\n" + defaultUnreleasedBody + "\n" + newSection + text[nextSectionStart:] updated := text[:afterHeader] + "\n" + defaultUnreleasedTemplate + "\n" + newSection + text[nextSectionStart:]
repoURL, ok := deriveRepositoryURL(rootDir) repoURL, ok := deriveRepositoryURL(rootDir)
if ok { if ok {
updated = addChangelogLinks(updated, repoURL) updated = addChangelogLinks(updated, repoURL)