From 05d4260e98c5965a53cf7a365930d3f9c6acd6b0 Mon Sep 17 00:00:00 2001 From: d976045024 <976045024@qq.com> Date: Wed, 8 May 2024 17:04:04 +0800 Subject: [PATCH 1/3] fix: Raise the version constraint of KBCLI and KB (#300) --- pkg/cmd/version/version.go | 6 +++++- pkg/cmd/version/version_test.go | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/pkg/cmd/version/version.go b/pkg/cmd/version/version.go index 832c813c6..daed91ec9 100644 --- a/pkg/cmd/version/version.go +++ b/pkg/cmd/version/version.go @@ -84,7 +84,11 @@ func (o *versionOptions) Run(f cmdutil.Factory) { return } - if !kbVersion.Equal(cliVersion) { + if !CheckVersionMatch(kbVersion, cliVersion) { fmt.Printf("WARNING: version difference between kbcli (%s) and kubeblocks (%s) \n", v.Cli, v.KubeBlocks) } } + +func CheckVersionMatch(cliVersion *gv.Version, kbVersion *gv.Version) bool { + return cliVersion.Segments64()[0] == kbVersion.Segments64()[0] && cliVersion.Segments64()[1] == kbVersion.Segments64()[1] +} diff --git a/pkg/cmd/version/version_test.go b/pkg/cmd/version/version_test.go index 1d306ddc4..77a207586 100644 --- a/pkg/cmd/version/version_test.go +++ b/pkg/cmd/version/version_test.go @@ -58,4 +58,18 @@ var _ = Describe("version", func() { cliVersion, _ = gv.NewVersion("v0.6.3") Expect(kbVersion.Equal(cliVersion)).Should(BeTrue()) }) + + It("version match", func() { + kbVersion, _ := gv.NewVersion("0.6.0-alpha.23") + cliVersion, _ := gv.NewVersion("0.6.1-alpha.23") + Expect(CheckVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) + + kbVersion, _ = gv.NewVersion("0.6.0-alpha.23") + cliVersion, _ = gv.NewVersion("v0.6.23") + Expect(CheckVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) + + kbVersion, _ = gv.NewVersion("0.7.0-alpha.23") + cliVersion, _ = gv.NewVersion("0.6.0-beta.23") + Expect(CheckVersionMatch(cliVersion, kbVersion)).Should(BeFalse()) + }) }) From 79dffbdda5fd983136961f521ac501ffc7fb26e4 Mon Sep 17 00:00:00 2001 From: d976045024 <976045024@qq.com> Date: Wed, 8 May 2024 17:21:58 +0800 Subject: [PATCH 2/3] fix: make function private (#300) --- pkg/cmd/version/version.go | 4 ++-- pkg/cmd/version/version_test.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/cmd/version/version.go b/pkg/cmd/version/version.go index daed91ec9..9a198e55c 100644 --- a/pkg/cmd/version/version.go +++ b/pkg/cmd/version/version.go @@ -84,11 +84,11 @@ func (o *versionOptions) Run(f cmdutil.Factory) { return } - if !CheckVersionMatch(kbVersion, cliVersion) { + if !checkVersionMatch(kbVersion, cliVersion) { fmt.Printf("WARNING: version difference between kbcli (%s) and kubeblocks (%s) \n", v.Cli, v.KubeBlocks) } } -func CheckVersionMatch(cliVersion *gv.Version, kbVersion *gv.Version) bool { +func checkVersionMatch(cliVersion *gv.Version, kbVersion *gv.Version) bool { return cliVersion.Segments64()[0] == kbVersion.Segments64()[0] && cliVersion.Segments64()[1] == kbVersion.Segments64()[1] } diff --git a/pkg/cmd/version/version_test.go b/pkg/cmd/version/version_test.go index 77a207586..78c394bf5 100644 --- a/pkg/cmd/version/version_test.go +++ b/pkg/cmd/version/version_test.go @@ -62,14 +62,14 @@ var _ = Describe("version", func() { It("version match", func() { kbVersion, _ := gv.NewVersion("0.6.0-alpha.23") cliVersion, _ := gv.NewVersion("0.6.1-alpha.23") - Expect(CheckVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) + Expect(checkVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) kbVersion, _ = gv.NewVersion("0.6.0-alpha.23") cliVersion, _ = gv.NewVersion("v0.6.23") - Expect(CheckVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) + Expect(checkVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) kbVersion, _ = gv.NewVersion("0.7.0-alpha.23") cliVersion, _ = gv.NewVersion("0.6.0-beta.23") - Expect(CheckVersionMatch(cliVersion, kbVersion)).Should(BeFalse()) + Expect(checkVersionMatch(cliVersion, kbVersion)).Should(BeFalse()) }) }) From b8a5ea6ddcd10461aa24b6ff8d78fd393f20b67e Mon Sep 17 00:00:00 2001 From: d976045024 <976045024@qq.com> Date: Wed, 8 May 2024 18:18:24 +0800 Subject: [PATCH 3/3] fix: modify rule (#300) --- pkg/cmd/version/version.go | 3 ++- pkg/cmd/version/version_test.go | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/cmd/version/version.go b/pkg/cmd/version/version.go index 9a198e55c..8e38842fc 100644 --- a/pkg/cmd/version/version.go +++ b/pkg/cmd/version/version.go @@ -21,6 +21,7 @@ package version import ( "fmt" + "reflect" "runtime" gv "github.com/hashicorp/go-version" @@ -90,5 +91,5 @@ func (o *versionOptions) Run(f cmdutil.Factory) { } func checkVersionMatch(cliVersion *gv.Version, kbVersion *gv.Version) bool { - return cliVersion.Segments64()[0] == kbVersion.Segments64()[0] && cliVersion.Segments64()[1] == kbVersion.Segments64()[1] + return reflect.DeepEqual(cliVersion.Segments64(), kbVersion.Segments64()) } diff --git a/pkg/cmd/version/version_test.go b/pkg/cmd/version/version_test.go index 78c394bf5..693b5e7e8 100644 --- a/pkg/cmd/version/version_test.go +++ b/pkg/cmd/version/version_test.go @@ -62,14 +62,14 @@ var _ = Describe("version", func() { It("version match", func() { kbVersion, _ := gv.NewVersion("0.6.0-alpha.23") cliVersion, _ := gv.NewVersion("0.6.1-alpha.23") - Expect(checkVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) + Expect(checkVersionMatch(cliVersion, kbVersion)).Should(BeFalse()) kbVersion, _ = gv.NewVersion("0.6.0-alpha.23") - cliVersion, _ = gv.NewVersion("v0.6.23") + cliVersion, _ = gv.NewVersion("v0.6.0-beta.17") Expect(checkVersionMatch(cliVersion, kbVersion)).Should(BeTrue()) kbVersion, _ = gv.NewVersion("0.7.0-alpha.23") - cliVersion, _ = gv.NewVersion("0.6.0-beta.23") + cliVersion, _ = gv.NewVersion("0.6-beta.23") Expect(checkVersionMatch(cliVersion, kbVersion)).Should(BeFalse()) }) })