refactor: extract compare URL helper
This commit is contained in:
@@ -468,7 +468,7 @@ func addChangelogLinks(text, repoURL, rootDir string) string {
|
|||||||
linkDefs := make([]string, 0, len(releasedVersions)+1)
|
linkDefs := make([]string, 0, len(releasedVersions)+1)
|
||||||
if len(releasedVersions) > 0 {
|
if len(releasedVersions) > 0 {
|
||||||
latest := releasedVersions[0]
|
latest := releasedVersions[0]
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s/compare/v%s...main", repoURL, latest))
|
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s", compareURL(repoURL, "v"+latest, "main")))
|
||||||
} else {
|
} else {
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s/src/branch/main", repoURL))
|
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s/src/branch/main", repoURL))
|
||||||
}
|
}
|
||||||
@@ -477,16 +477,16 @@ func addChangelogLinks(text, repoURL, rootDir string) string {
|
|||||||
for i, version := range releasedVersions {
|
for i, version := range releasedVersions {
|
||||||
if i+1 < len(releasedVersions) {
|
if i+1 < len(releasedVersions) {
|
||||||
previousVersion := releasedVersions[i+1]
|
previousVersion := releasedVersions[i+1]
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s/compare/v%s...v%s", version, repoURL, previousVersion, version))
|
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(repoURL, "v"+previousVersion, "v"+version)))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if hasFirstCommit {
|
if hasFirstCommit {
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s/compare/%s...v%s", version, repoURL, firstCommitShort, version))
|
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(repoURL, firstCommitShort, "v"+version)))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s/compare/v%s...main", version, repoURL, version))
|
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(repoURL, "v"+version, "main")))
|
||||||
}
|
}
|
||||||
|
|
||||||
return strings.TrimRight(text, "\n") + "\n\n" + strings.Join(linkDefs, "\n") + "\n"
|
return strings.TrimRight(text, "\n") + "\n\n" + strings.Join(linkDefs, "\n") + "\n"
|
||||||
@@ -511,6 +511,10 @@ func firstCommitShortHash(rootDir string) (string, bool) {
|
|||||||
return commit, true
|
return commit, true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func compareURL(repoURL, baseRef, headRef string) string {
|
||||||
|
return fmt.Sprintf("%s/compare/%s...%s", repoURL, baseRef, headRef)
|
||||||
|
}
|
||||||
|
|
||||||
func parseSemver(version string) (semver, error) {
|
func parseSemver(version string) (semver, error) {
|
||||||
parts := strings.Split(strings.TrimSpace(version), ".")
|
parts := strings.Split(strings.TrimSpace(version), ".")
|
||||||
if len(parts) != 3 {
|
if len(parts) != 3 {
|
||||||
|
|||||||
Reference in New Issue
Block a user