From b9fb11c94583657f7dfa12017f4bd53970f62e0e Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Sun, 14 Jan 2024 14:26:16 +0100 Subject: [PATCH 1/2] fix: parse Go RC version --- pkg/lint/lintersdb/manager.go | 2 +- pkg/lint/lintersdb/manager_test.go | 56 ++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 pkg/lint/lintersdb/manager_test.go diff --git a/pkg/lint/lintersdb/manager.go b/pkg/lint/lintersdb/manager.go index e30d48e4f10c..4a3c1b4d64f4 100644 --- a/pkg/lint/lintersdb/manager.go +++ b/pkg/lint/lintersdb/manager.go @@ -991,7 +991,7 @@ func trimGoVersion(v string) string { return "" } - exp := regexp.MustCompile(`(\d\.\d+)\.\d+`) + exp := regexp.MustCompile(`(\d\.\d+)(?:\.\d+|[a-z]+\d)`) if exp.MatchString(v) { return exp.FindStringSubmatch(v)[1] diff --git a/pkg/lint/lintersdb/manager_test.go b/pkg/lint/lintersdb/manager_test.go new file mode 100644 index 000000000000..c42abe00dc59 --- /dev/null +++ b/pkg/lint/lintersdb/manager_test.go @@ -0,0 +1,56 @@ +package lintersdb + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_trimGoVersion(t *testing.T) { + testCases := []struct { + desc string + version string + expected string + }{ + { + desc: "patched version", + version: "1.22.0", + expected: "1.22", + }, + { + desc: "minor version", + version: "1.22", + expected: "1.22", + }, + { + desc: "RC version", + version: "1.22rc1", + expected: "1.22", + }, + { + desc: "alpha version", + version: "1.22beta1", + expected: "1.22", + }, + { + desc: "beta version", + version: "1.22alpha1", + expected: "1.22", + }, + { + desc: "semver RC version", + version: "1.22.0-rc1", + expected: "1.22", + }, + } + + for _, test := range testCases { + test := test + t.Run(test.desc, func(t *testing.T) { + t.Parallel() + + version := trimGoVersion(test.version) + assert.Equal(t, test.expected, version) + }) + } +} From a93475ee938058685db7eb11113ba92066308127 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Sun, 14 Jan 2024 17:09:45 +0100 Subject: [PATCH 2/2] review --- pkg/lint/lintersdb/manager_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/lint/lintersdb/manager_test.go b/pkg/lint/lintersdb/manager_test.go index c42abe00dc59..0b05c9ec39d7 100644 --- a/pkg/lint/lintersdb/manager_test.go +++ b/pkg/lint/lintersdb/manager_test.go @@ -29,12 +29,12 @@ func Test_trimGoVersion(t *testing.T) { }, { desc: "alpha version", - version: "1.22beta1", + version: "1.22alpha1", expected: "1.22", }, { desc: "beta version", - version: "1.22alpha1", + version: "1.22beta1", expected: "1.22", }, {