mirror of
https://github.com/argoproj/argo-cd.git
synced 2026-02-20 01:28:45 +01:00
chore(repo-server): simplify Kustomize/Helm version detection (#21540)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
This commit is contained in:
@@ -39,7 +39,7 @@ func (s *Server) Version(ctx context.Context, _ *empty.Empty) (*version.VersionM
|
||||
}
|
||||
|
||||
if s.kustomizeVersion == "" {
|
||||
kustomizeVersion, err := kustomize.Version(true)
|
||||
kustomizeVersion, err := kustomize.Version()
|
||||
if err == nil {
|
||||
s.kustomizeVersion = kustomizeVersion
|
||||
} else {
|
||||
@@ -47,7 +47,7 @@ func (s *Server) Version(ctx context.Context, _ *empty.Empty) (*version.VersionM
|
||||
}
|
||||
}
|
||||
if s.helmVersion == "" {
|
||||
helmVersion, err := helm.Version(true)
|
||||
helmVersion, err := helm.Version()
|
||||
if err == nil {
|
||||
s.helmVersion = helmVersion
|
||||
} else {
|
||||
|
||||
@@ -118,15 +118,9 @@ func (h *helm) Dispose() {
|
||||
h.cmd.Close()
|
||||
}
|
||||
|
||||
func Version(shortForm bool) (string, error) {
|
||||
executable := "helm"
|
||||
cmdArgs := []string{"version", "--client"}
|
||||
if shortForm {
|
||||
cmdArgs = append(cmdArgs, "--short")
|
||||
}
|
||||
cmd := exec.Command(executable, cmdArgs...)
|
||||
func Version() (string, error) {
|
||||
cmd := exec.Command("helm", "version", "--client", "--short")
|
||||
// example version output:
|
||||
// long: "version.BuildInfo{Version:\"v3.3.1\", GitCommit:\"249e5215cde0c3fa72e27eb7a30e8d55c9696144\", GitTreeState:\"clean\", GoVersion:\"go1.14.7\"}"
|
||||
// short: "v3.3.1+g249e521"
|
||||
version, err := executil.RunWithRedactor(cmd, redactor)
|
||||
if err != nil {
|
||||
|
||||
@@ -175,7 +175,7 @@ func TestHelmArgCleaner(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestVersion(t *testing.T) {
|
||||
ver, err := Version(false)
|
||||
ver, err := Version()
|
||||
require.NoError(t, err)
|
||||
assert.NotEmpty(t, ver)
|
||||
}
|
||||
|
||||
@@ -398,7 +398,7 @@ var (
|
||||
|
||||
// getSemver returns parsed kustomize version
|
||||
func getSemver() (*semver.Version, error) {
|
||||
verStr, err := Version(true)
|
||||
verStr, err := Version()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -429,33 +429,25 @@ func getSemverSafe() *semver.Version {
|
||||
return semVer
|
||||
}
|
||||
|
||||
func Version(shortForm bool) (string, error) {
|
||||
executable := "kustomize"
|
||||
cmdArgs := []string{"version"}
|
||||
if shortForm {
|
||||
cmdArgs = append(cmdArgs, "--short")
|
||||
}
|
||||
cmd := exec.Command(executable, cmdArgs...)
|
||||
func Version() (string, error) {
|
||||
cmd := exec.Command("kustomize", "version", "--short")
|
||||
// example version output:
|
||||
// long: "{Version:kustomize/v3.8.1 GitCommit:0b359d0ef0272e6545eda0e99aacd63aef99c4d0 BuildDate:2020-07-16T00:58:46Z GoOs:linux GoArch:amd64}"
|
||||
// short: "{kustomize/v3.8.1 2020-07-16T00:58:46Z }"
|
||||
version, err := executil.Run(cmd)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("could not get kustomize version: %w", err)
|
||||
}
|
||||
version = strings.TrimSpace(version)
|
||||
if shortForm {
|
||||
// trim the curly braces
|
||||
version = strings.TrimPrefix(version, "{")
|
||||
version = strings.TrimSuffix(version, "}")
|
||||
version = strings.TrimSpace(version)
|
||||
// trim the curly braces
|
||||
version = strings.TrimPrefix(version, "{")
|
||||
version = strings.TrimSuffix(version, "}")
|
||||
version = strings.TrimSpace(version)
|
||||
|
||||
// remove double space in middle
|
||||
version = strings.ReplaceAll(version, " ", " ")
|
||||
// remove double space in middle
|
||||
version = strings.ReplaceAll(version, " ", " ")
|
||||
|
||||
// remove extra 'kustomize/' before version
|
||||
version = strings.TrimPrefix(version, "kustomize/")
|
||||
}
|
||||
// remove extra 'kustomize/' before version
|
||||
version = strings.TrimPrefix(version, "kustomize/")
|
||||
return version, nil
|
||||
}
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@ func TestParseKustomizeBuildHelmOptions(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestVersion(t *testing.T) {
|
||||
ver, err := Version(false)
|
||||
ver, err := Version()
|
||||
require.NoError(t, err)
|
||||
assert.NotEmpty(t, ver)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user