diff --git a/.github/workflows/Makefile b/.github/workflows/Makefile index 299e5e2f..7d291a86 100644 --- a/.github/workflows/Makefile +++ b/.github/workflows/Makefile @@ -1,4 +1,4 @@ -HELM_VERSION ?= v3.7.2 +HELM_VERSION ?= v4.0.0-beta.1 KUSTOMIZE_VERSION ?= v5.4.3 K8S_VERSION ?= v1.32.1 MINIKUBE_VERSION ?= v1.31.1 diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 92f29ea8..982ae526 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -86,6 +86,12 @@ jobs: plugin-secrets-version: 4.6.5 plugin-diff-version: 3.12.5 extra-helmfile-flags: '--enable-live-output' + # Test with Helm v4 beta + - helm-version: v4.0.0-beta.1 + kustomize-version: v5.4.3 + plugin-secrets-version: 4.6.5 + plugin-diff-version: 3.12.5 + extra-helmfile-flags: '' steps: - uses: actions/checkout@v5 - uses: actions/setup-go@v6 diff --git a/Dockerfile b/Dockerfile index 2872032e..546d3ed1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ ENV HELM_CONFIG_HOME="${HELM_CONFIG_HOME}" ARG HELM_DATA_HOME="${HOME}/.local/share/helm" ENV HELM_DATA_HOME="${HELM_DATA_HOME}" -ARG HELM_VERSION="v3.19.0" +ARG HELM_VERSION="v4.0.0-beta.1" ENV HELM_VERSION="${HELM_VERSION}" ARG HELM_LOCATION="https://get.helm.sh" ARG HELM_FILENAME="helm-${HELM_VERSION}-${TARGETOS}-${TARGETARCH}.tar.gz" @@ -38,8 +38,8 @@ RUN set -x && \ curl --retry 5 --retry-connrefused -LO "${HELM_LOCATION}/${HELM_FILENAME}" && \ echo Verifying ${HELM_FILENAME}... && \ case ${TARGETPLATFORM} in \ - "linux/amd64") HELM_SHA256="a7f81ce08007091b86d8bd696eb4d86b8d0f2e1b9f6c714be62f82f96a594496" ;; \ - "linux/arm64") HELM_SHA256="440cf7add0aee27ebc93fada965523c1dc2e0ab340d4348da2215737fc0d76ad" ;; \ + "linux/amd64") HELM_SHA256="7be0196d374ff121409d092d014b7759bc5e9419cda9ada7283dfbe4ff01fce8" ;; \ + "linux/arm64") HELM_SHA256="48c0cfa5107bae86b733eab9150d3422944ff6638db63637e0a7ce6b69060088" ;; \ esac && \ echo "${HELM_SHA256} ${HELM_FILENAME}" | sha256sum -c && \ echo Extracting ${HELM_FILENAME}... && \ diff --git a/pkg/app/init.go b/pkg/app/init.go index 54fbb57b..21609d4d 100644 --- a/pkg/app/init.go +++ b/pkg/app/init.go @@ -19,7 +19,7 @@ import ( const ( HelmRequiredVersion = "v3.18.6" HelmDiffRecommendedVersion = "v3.13.0" - HelmRecommendedVersion = "v3.19.0" + HelmRecommendedVersion = "v4.0.0-beta.1" HelmSecretsRecommendedVersion = "v4.6.5" HelmGitRecommendedVersion = "v1.3.0" HelmS3RecommendedVersion = "v0.16.3" diff --git a/pkg/exectest/helm.go b/pkg/exectest/helm.go index 9daaf0ec..5857d398 100644 --- a/pkg/exectest/helm.go +++ b/pkg/exectest/helm.go @@ -210,7 +210,7 @@ func (helm *Helm) IsHelm3() bool { if helm.Version == nil { return helm.Helm3 } - return helm.Version.Major() == 3 + return helm.Version.Major() >= 3 } func (helm *Helm) GetVersion() helmexec.Version { diff --git a/pkg/helmexec/exec.go b/pkg/helmexec/exec.go index fd185b71..37b5c3ae 100644 --- a/pkg/helmexec/exec.go +++ b/pkg/helmexec/exec.go @@ -647,7 +647,7 @@ func (helm *execer) write(w io.Writer, out []byte) { } func (helm *execer) IsHelm3() bool { - return helm.version.Major() == 3 + return helm.version.Major() >= 3 } func (helm *execer) GetVersion() Version {