diff --git a/util.go b/util.go index 96c0d7a..29d4e17 100644 --- a/util.go +++ b/util.go @@ -51,7 +51,14 @@ func indent(text, indent string) string { } func FindSemVerInfo(version string) (string, error) { - v := regexp.MustCompile(semVerRegex).FindString(version) + if version == "" { + return "", fmt.Errorf("version cannot be empty") + } + processedVersion := strings.TrimSpace(version) + if !strings.HasPrefix(processedVersion, "v") { + processedVersion = fmt.Sprintf("v%s", processedVersion) + } + v := regexp.MustCompile(semVerRegex).FindString(processedVersion) if v == "" { return "", fmt.Errorf("unable to find semver info in %s", version) diff --git a/util_test.go b/util_test.go index b1035f8..031f350 100644 --- a/util_test.go +++ b/util_test.go @@ -82,10 +82,10 @@ func TestFindSemVerInfo(t *testing.T) { wantErr: false, }, { - name: "semver must start with v", + name: "semver not start with v", version: "1.2.3", - want: "", - wantErr: true, + want: "v1.2.3", + wantErr: false, }, { name: "helm version info with WARNING message",