Enhance versionning on build packages (#165)
Some checks failed
Go-Tests / sonar (push) Has been cancelled
Go-Tests / tests (push) Has been cancelled

It was too challenging to only use "tags" without a prefix to trigger builds. So, the new rule is to prefix releases tags by "releases/"

Reviewed-on: #165
This commit is contained in:
2025-08-22 08:33:32 +00:00
parent d30690a45a
commit 46f41ea01d
7 changed files with 54 additions and 13 deletions

View File

@@ -3,6 +3,7 @@ package generator
import (
"regexp"
"runtime/debug"
"strings"
)
// Version is the version of katenary. It is set at compile time.
@@ -14,8 +15,15 @@ var Version = "master" // changed at compile time
func GetVersion() string {
// try to get the semantic version from the Version variable (theorically set at compile time)
if reg := regexp.MustCompile(`^v?\d+.\d+.\d+.*|^release-.*`); reg.MatchString(Version) {
Version = strings.Replace(Version, "release-", "v", 1)
if Version[0] != 'v' {
Version = "v" + Version
}
return Version
}
if reg := regexp.MustCompile(`^releases/.*`); reg.MatchString(Version) {
return strings.Replace(Version, "releases/", "v", 1)
}
// OK... let's try to get the version from the build info
// get the version from the build info (when installed with go install)