Skip to content

Bug: Stable release becomes outdated very quickly due to hard coding #188

Open

Description

What happened?

You appear to set a stableHelmVersion in run.ts. That's problematic because the stable version changes frequently so this action quickly ends up with an outdated stable version.

const stableHelmVersion = 'v3.13.3'

Currently, the "stable" version points at 3.13.3 which has not been the latest stable for 1.5 years (since January 2024): https://github.com/helm/helm/releases/tag/v3.14.0

You should probably call it defaultHelmVersion as stable is misleading.

Also, this version should be updated with every release to not have too much of a gap between actual upstream stable and this action's "stable".

Using old versions means that newly introduced syntax will not work, e.g. --skip-schema-validation, see #187

Version

  • I am using the latest version

Runner

default

Relevant log output

NA

Activity

  1. corneliusroemer commented on Jun 20, 2025

    @corneliusroemer
    ContributorAuthor

    You probably shouldn't use that "stable" version as a hardcoded string in tests as well - that means updating it causes test failure...

    expect(await run.getLatestHelmVersion()).toBe('v3.13.3')

  2. davidgamero commented on Mar 25, 2026

    @davidgamero
    Collaborator

    the linked file mentions:

    test('getLatestHelmVersion() - return the stable version of HELM when simulating a network error', async () => {

    the variable linked is only used if the current stable version cannot be detected with a network call

    the name "stableHelmVersion" could be ambiguous as you mentioned, and a PR would be welcome to fix it 😄

  3. thomastvedt commented on Sep 10, 2026

    @thomastvedt
    Contributor

    This got worse when Helm 4 shipped, and it is worth separating from the staleness issue.

    When this was filed, the hard-coded fallback kept users inside Helm 3, so the cost was a missing flag. Now latest resolves to Helm 4, and the same fallback moves a job back a whole major on a single failed request. The step stays green and the run fails later on something unrelated-looking, in our case Error: unknown flag: --rollback-on-failure.

    I don't think we should fallback to another version. If fetching the latest version fails, then just fail? Or retry a few times first, but then fail with the actual error?

  4. github-actions commented on Nov 9, 2026

    @github-actions

    This issue is idle after 60 days with no activity. It will be closed in 14 days if there is no further activity.

  5. thomastvedt commented on Nov 10, 2026

    @thomastvedt
    Contributor

    Cornelius Roemer (@corneliusroemer) fyi you can now opt-out of the fallback to a stable version setting latest-fallback=false, see #303.

    I'm still of the opinion that hard-coding a fallback version is not the best design, and that the action should simply fail and not magically fallback to another version. But at least we can opt-out of the behaviour now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions