@@ -34,9 +34,15 @@ func GetGitTags() []*semver.Version {
34
34
return versions
35
35
}
36
36
37
- func GetNextTag (pre string ) * semver.Version {
38
- var tags = GetGitTags ()
39
- var maxVer = GetGitMaxTag (tags )
37
+ func GetNextReleaseTag (tags []* semver.Version ) * semver.Version {
38
+ var curMaxVer = typex .DoBlock1 (func () * semver.Version {
39
+ return lo .MaxBy (tags , func (a * semver.Version , b * semver.Version ) bool { return a .Compare (b ) > 0 })
40
+ })
41
+
42
+ return curMaxVer .Core ()
43
+ }
44
+
45
+ func GetNextTag (pre string , tags []* semver.Version ) * semver.Version {
40
46
var preData = fmt .Sprintf ("-%s." , pre )
41
47
var curMaxVer = typex .DoBlock1 (func () * semver.Version {
42
48
preTags := lo .Filter (tags , func (item * semver.Version , index int ) bool { return strings .Contains (item .String (), preData ) })
@@ -45,11 +51,11 @@ func GetNextTag(pre string) *semver.Version {
45
51
})
46
52
47
53
var ver string
48
- if curMaxVer != nil && curMaxVer . GreaterThan ( maxVer ) {
54
+ if curMaxVer != nil {
49
55
ver = strings .ReplaceAll (curMaxVer .Prerelease (), fmt .Sprintf ("%s." , pre ), "" )
50
56
ver = fmt .Sprintf ("v%s-%s.%d" , curMaxVer .Core ().String (), pre , assert .Must1 (strconv .Atoi (ver ))+ 1 )
51
57
} else {
52
- ver = fmt .Sprintf ("v%s-%s.1" , maxVer . Core ( ).String (), pre )
58
+ ver = fmt .Sprintf ("v%s-%s.1" , GetNextReleaseTag ( tags ).String (), pre )
53
59
}
54
60
return assert .Exit1 (semver .NewSemver (ver ))
55
61
}
0 commit comments