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

@@ -6,29 +6,53 @@ import (
)
func TestVersion(t *testing.T) {
expected := "v1.0.0"
errorMessage := func(value, expected any) string {
return "Expected version to be " + expected.(string) + ", got " + value.(string)
}
// first, let's test the default behavior
// when we compile from source, without setting the Version variable,
// by default, when we are developing, the Version variable is set to "master"
// we build on "devel" branch
v := GetVersion()
// by default, the version comes from build info and it's a development version
if !strings.Contains(v, "(devel)") {
t.Errorf("Expected version to be set, got %s", v)
errorMessage(v, "(devel)")
}
// now, imagine we are on a release branch
Version = "1.0.0"
v = GetVersion()
if !strings.Contains(v, "1.0.0") {
t.Errorf("Expected version to be set, got %s", v)
if !strings.Contains(v, expected) {
errorMessage(v, expected)
}
// now, imagine we are on v1.0.0
Version = "v1.0.0"
v = GetVersion()
if !strings.Contains(v, "v1.0.0") {
t.Errorf("Expected version to be set, got %s", v)
if !strings.Contains(v, expected) {
errorMessage(v, expected)
}
// we can also compile a release branch
Version = "release-1.0.0"
v = GetVersion()
if !strings.Contains(v, "release-1.0.0") {
t.Errorf("Expected version to be set, got %s", v)
if !strings.Contains(v, expected) {
errorMessage(v, expected)
}
// for releases-* tags
Version = "release-1.0.0"
v = GetVersion()
if !strings.Contains(v, expected) {
errorMessage(v, expected)
}
// and for releases/* tags
Version = "releases/1.0.0"
v = GetVersion()
if !strings.Contains(v, expected) {
errorMessage(v, expected)
}
}