Skip to content

Helm 4 support#2069

Open
hnrkndrssn wants to merge 4 commits into
mainfrom
henrik/feat/hpy-1402-helm-4-support
Open

Helm 4 support#2069
hnrkndrssn wants to merge 4 commits into
mainfrom
henrik/feat/hpy-1402-helm-4-support

Conversation

@hnrkndrssn

@hnrkndrssn hnrkndrssn commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Updating the Helm version resolver to support v4 and future major version of Helm, and removing the --client argument from helm version as it was a no-op in Helm v3 and removed in Helm v4.

This PR does not upgrade the bundled helm version in Octopus, just adds support for customers who have installed helm v4 to use that version.

Before

image

After

image

@hnrkndrssn hnrkndrssn self-assigned this Jul 10, 2026
@hnrkndrssn
hnrkndrssn marked this pull request as ready for review July 14, 2026 07:28
@hnrkndrssn
hnrkndrssn requested a review from a team July 14, 2026 07:28
@hnrkndrssn
hnrkndrssn force-pushed the henrik/feat/hpy-1402-helm-4-support branch from ff67ba0 to 354471e Compare July 14, 2026 07:45
@hnrkndrssn
hnrkndrssn requested a review from Copilot July 14, 2026 22:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Calamari’s Helm integration to work with Helm v4 (and future majors) by adjusting how the Helm client version is detected and validated, and by removing the now-removed --client flag from helm version.

Changes:

  • Update Helm CLI version detection to use helm version --short (no --client) and adjust related tests.
  • Replace the Helm version enum parsing with a major-version integer parser to allow Helm v4+.
  • Update Helm upgrade executor validation logic and test mocks to accept Helm v4 output.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
source/Calamari/Kubernetes/Integration/HelmCli.cs Switch Helm version command to version --short and update parsing comment.
source/Calamari/Kubernetes/Conventions/Helm/HelmUpgradeExecutor.cs Validate supported Helm versions via parsed major version (allow v3+).
source/Calamari.Tests/KubernetesFixtures/Integration/HelmCliTests.cs Update expected command-line arguments for Helm version invocation.
source/Calamari.Tests/KubernetesFixtures/HelmVersionParserFixture.cs Update tests to cover major version parsing including v4/v5.
source/Calamari.Tests/KubernetesFixtures/HelmUpgradeFixture.cs Remove Helm version helper code that depended on --client.
source/Calamari.Tests/KubernetesFixtures/Conventions/Helm/HelmUpgradeExecutorTests.cs Update version mock to reflect Helm v4 output and remove --client assumption.
source/Calamari.Shared/Util/HelmVersionParser.cs Replace enum parsing with ParseMajorVersion integer parsing.
source/Calamari.Shared/Util/HelmVersion.cs Remove HelmVersion enum (no longer needed).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/Calamari/Kubernetes/Integration/HelmCli.cs
hnrkndrssn and others added 2 commits July 14, 2026 15:09
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants