Upgrade CI to Helm 4 - #6614
Open
renovate[bot] wants to merge 2 commits into
Open
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6614 +/- ##
==========================================
- Coverage 78.92% 78.91% -0.01%
==========================================
Files 782 782
Lines 78053 78053
==========================================
- Hits 61601 61599 -2
- Misses 16447 16449 +2
Partials 5 5 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
renovate
Bot
force-pushed
the
renovate/helm-4.x
branch
from
September 9, 2026 21:46
28c7180 to
1203f32
Compare
Member
|
/retest |
renovate
Bot
force-pushed
the
renovate/helm-4.x
branch
from
September 10, 2026 04:09
1203f32 to
70d16f5
Compare
renovate
Bot
force-pushed
the
renovate/helm-4.x
branch
from
September 10, 2026 08:15
70d16f5 to
9fb2c9d
Compare
renovate
Bot
force-pushed
the
renovate/helm-4.x
branch
from
September 10, 2026 08:39
9fb2c9d to
418d9f3
Compare
renovate
Bot
force-pushed
the
renovate/helm-4.x
branch
from
September 10, 2026 15:15
418d9f3 to
290d6a6
Compare
The Renovate bump to Helm v4.3.0 broke `task helm-unittest`: Helm 4 verifies plugin signatures by default and a git checkout carries no provenance, so the install aborts with "plugin source does not support verification". Probe for the flag rather than passing it unconditionally, because Helm 3 has no --verify flag and rejects it as unknown — chart contributors on either major keep working. Two workflows called azure/setup-helm with no version input, which defaults to `latest` and was already pulling Helm v4.2.4 while the other two claimed a v3 pin. Pin all four so the version is stated once and cannot drift silently. The "avoid v4.x" Renovate rule never fired: it is scoped to the custom.regex manager, but the github-actions manager now extracts the action's `version:` input itself as a `uses-with` dependency. That same overlap produced duplicate bumps (#6581 and #6582). Drop the dead rule and the redundant regex manager, leaving the built-in manager to track Helm across all four workflows. Also bump helm-unittest to v1.1.2, whose manifest uses the platformCommand/platformHooks form Helm 4 expects, and refresh the chart prerequisites, which are no longer Helm 3-only. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
rdimitrov
force-pushed
the
renovate/helm-4.x
branch
from
September 11, 2026 11:47
290d6a6 to
92a6a1d
Compare
rdimitrov
requested review from
blkt,
jerm-dro,
jhrozek,
rdimitrov,
reyortiz3 and
tgrunnagle
as code owners
September 11, 2026 11:47
Contributor
Author
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
ChrisJBurns
approved these changes
Sep 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Renovate opened this as a plain
azure/setup-helmversion bump (v3.22.0→v4.3.0, release notes), but Helm 4 changes enough that the bump does not stand on its own. This PR carries the follow-up work needed to make it land.task helm-unittestfails outright under Helm 4. Helm 4 verifies plugin signatures by default, and a git checkout carries no provenance, so the install aborts withplugin source does not support verification. The flag is probed for rather than passed unconditionally, because Helm 3 has no--verifyflag and rejects it as unknown — contributors on either major keep working.operator-ci.ymlandtest-e2e-lifecycle.ymlcalledazure/setup-helmwith noversion:input, which defaults tolatest; they have been pulling v4.2.4 while the other two claimed a v3 pin. All four are now pinned so the version is stated once and cannot drift.matchManagers: ["custom.regex"]+helm/helm, but the built-in github-actions manager now extracts the action'sversion:input itself, as auses-withdependency namedhelm— which is how this PR was raised. The same overlap produced duplicate bumps (Update dependency helm to v3.21.4 #6581 and Update dependency helm/helm to v3.21.4 #6582). The dead rule and the redundant regex manager are removed, leaving the built-in manager to track Helm across all four workflows.platformCommand/platformHooksform Helm 4 expects; v1.0.3 uses the legacycommand/hooksform.Type of change
Test plan
task helm-unittestwas run end-to-end against both majors with an isolatedHELM_PLUGINS, exercising the plugin install path from scratch each time:--verify=falseappended by the probetask helm-docsregenerates the two chart READMEs with no drift beyond the prerequisite line, so the workflow's uncommitted-changes gate stays clean.Independently verified as unaffected by Helm 4, so the rest of the chart tooling needs no changes:
ct lintpassed under v4.3.0 in this PR's own earlier run.helm pushstill printsDigest: %s(pkg/registry/client.goat v4.3.0), sohelm-publish.yml's digest grep — which feeds the Cosign signature — keeps working.helm package,helm registry login/logoutandhelm show chartare unchanged.helm upgrade --installandhelm uninstallon both charts already run green on v4.2.4 in Operator CI today, across kind v1.33/v1.34/v1.35.API Compatibility
v1beta1API.Changes
Taskfile.yml--verify; bump helm-unittest to v1.1.2.github/workflows/helm-charts-test.yml# helmregex marker.github/workflows/helm-publish.yml.github/workflows/operator-ci.ymllatest).github/workflows/test-e2e-lifecycle.ymllatest)renovate.jsondeploy/charts/*/README.md{,.gotmpl}Does this introduce a user-facing change?
No. The charts themselves are unchanged; this is CI tooling and a documentation correction.
Special notes for reviewers
ct installis the one step no local check can stand in for — it never ran on the original bump, because the job died athelm-unittestfirst. chart-testing 3.14.0 shells out a bare--wait, which is still valid in Helm 4 (--waitis now aWaitStrategywithNoOptDefVal=watcher), but Helm 4's default readiness path moved from the legacy poller to the watcher strategy. The case worth watching isci/imageDiscoveryEnabled-values.yaml, which installs a deliberatereplicas: 0Deployment.Renovate will stop updating this branch now that it carries non-bot commits, so future Helm bumps arrive as a fresh PR.
🤖 Generated with Claude Code