From e8cfc8acfbf1107cac6c4b86c04cb9be37abed86 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Sun, 6 Jul 2025 20:56:56 +0200 Subject: [PATCH] build: improve next version calculation for bumped prereleases --- script/next-version.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/script/next-version.go b/script/next-version.go index 19c047429..b35ec41b8 100644 --- a/script/next-version.go +++ b/script/next-version.go @@ -82,9 +82,14 @@ func main() { } // We want the next prerelease. We are already on a prerelease. If - // it's the correct prerelease compared to the logs we just got, we - // should just bump the prerelease counter. - if next.Major == latest.Major && next.Minor == latest.Minor && next.Patch == latest.Patch { + // it's the correct prerelease compared to the logs we just got, or + // newer, we should just bump the prerelease counter. We compare + // against the latest without the prerelease part, as otherwise it + // would compare less than next if they represent the same version + // -- pre being less than stable. + latestNoPre := *latest + latestNoPre.PreRelease = "" + if !latestNoPre.LessThan(next) { parts := latest.PreRelease.Slice() for i, p := range parts { if v, err := strconv.Atoi(p); err == nil {