Unpin helmfile and helm in argocd-helmfile-plugin - #4709
Open
kb-yamashita wants to merge 1 commit into
Open
kb-yamashita wants to merge 1 commit into
kb-yamashita wants to merge 1 commit into
Conversation
The hourly dependency update job has been failing continuously since helmfile v1.8.0 was released, with: resolving dependency "helmfile": no semver matching "1.1.5" found in [1.1.6 ... 1.8.0] mod fetches the GitHub Releases list without a per_page parameter, so it only ever sees the first 30 entries. The exact pin "1.1.5" fell off that first page when v1.8.0 was published, leaving nothing for the constraint to match. Because the update workflow runs every directory through xargs, this one failure takes the whole job down. The pin was introduced as a temporary measure while a staged helmfile v1 migration was in progress. That migration is complete, so the pin is no longer needed. helmfile goes back to "> 0.1", matching every other directory in this repository. helm is bounded to the 3.x line with "~ 3" so that the move to helm v4 stays a separate, deliberate decision. Note that "< 4" would not work here: with Masterminds/semver v1.5.0, a constraint that omits the minor and patch is treated as "major <= 4" rather than "< 4.0.0", so it still matches 4.3.0. "~ 3" is the reliable way to express the upper bound.
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.
What
Unpin
helmfileandhelminargocd-helmfile-plugin/variant.mod.Why
The hourly dependency update job has been failing continuously since helmfile v1.8.0 was released:
modfetches the GitHub Releases list without aper_pageparameter, so it only ever sees the first 30 entries. The exact pin1.1.5fell off that first page when v1.8.0 was published, leaving nothing for the constraint to match. The update workflow runs every directory throughxargs, so this single failure takes the whole job down and the notification fires every hour.This is the only directory in the repository using an exact pin. The other 22 all use ranges, which is why none of them are affected — a range always matches something within the latest 30 releases. The failure mode requires an exact pin.
The pin was introduced as a temporary measure while a staged helmfile v1 migration was in progress. That migration is complete, so the pin is no longer needed.
Choice of constraints
helmfile: "> 0.1"restores what this directory used before the pin, and matches every other directory in this repository.helm: "~ 3"keeps helm on the 3.x line so that moving to helm v4 stays a separate, deliberate decision. helm v4 changes CLI flags and output, and reworks the plugin mechanism — this image installs helm-diff, helm-secrets and helm-git as plugins, so that move deserves its own verification.Note
"< 4"would not work here. With Masterminds/semver v1.5.0 (whichmodv0.25.3 uses), a constraint that omits the minor and patch is treated as "major <= 4" rather than "< 4.0.0", so< 4and>= 3, < 4both still match 4.3.0.~ 3is the reliable way to express the upper bound.Resolved versions against the current release listings:
helmfile: "> 0.1"helm: "~ 3"Pre-releases are excluded automatically — a constraint without a pre-release never matches one — so
validVersionPatternis not needed here.Effect of merging
This PR only touches
variant.mod, whichci:diffexcludes, so merging it builds and pushes nothing by itself. The next scheduledmod upwill open a follow-up PR that regeneratesDockerfileandgoss/goss.yaml, and that is what produces a new image.Consumers of this image pin explicit tags rather than following
latest, so nothing is upgraded implicitly by this change.Checklist