INNER CODE UNIT · Go
getHelmVersion
databus23/helm-diff · cmd/helm.go:80
func getHelmVersion() (*semver.Version, error) {
cmd := exec.Command(os.Getenv("HELM_BIN"), "version")
debugPrint("Executing %s", strings.Join(cmd.Args, " "))
output, err := cmd.CombinedOutput()
if err != nil {
return nil, fmt.Errorf("Failed to run `%s version`: %w", os.Getenv("HELM_BIN"), err)
}
versionOutput := string(output)
matches := helmVersionRE.FindStringSubmatch(versionOutput)
if matches == nil {
return nil, fmt.Errorf("Failed to find version in output %#v", versionOutput)
}
helmVersion, err := semver.NewVersion(matches[1])
if err != nil {
return nil, fmt.Errorf("Failed to parse version %#v: %w", matches[1], err)
}