Skip to content

Feature Request: Add semver range support to allow installing Helm v3.x or any major/minor version #242

Open

Description

Feature request

Currently, the action allows only fully pinned versions like:

  with:
    version: v3.19.2

It would be helpful to support semver ranges such as:

  • v3.x : latest Helm v3 patch
  • v3.19.x: latest Helm v3.19 patch

This makes it easier to stay on a major or minor version without hardcoding every single release. It also avoids accidental upgrades to Helm v4.

It's generally a good practice to be able to set the semver range. Please consider adding this functionality.

Activity

  1. serdardalgic commented on Jan 7, 2026

    @serdardalgic
    Author

    For those interested in implementing this feature:

    % curl -s "https://api.github.com/repos/helm/helm/releases" | jq -r '.[].tag_name'
    v4.0.4
    v3.19.4
    v4.0.2
    v3.19.3
    v4.0.1
    v4.0.0
    v3.19.2
    v3.19.1
    v4.0.0-rc.1
    v4.0.0-beta.2
    v4.0.0-beta.1
    v3.19.0
    v3.19.0-rc.1
    v4.0.0-alpha.1
    v3.18.6
    v3.18.5
    v3.17.4
    v3.18.4
    v3.18.3
    v3.18.2
    v3.18.1
    v3.18.0
    v3.18.0-rc.2
    v3.18.0-rc.1
    v3.17.3
    v3.17.2
    v3.17.1
    v3.17.0
    v3.17.0-rc.1
    v3.16.4
    

    This returns all releases including pre-releases (alpha, beta, rc). An implementation should filter these out when resolving ranges like v3.x or v3.19.x.

    Semver Comparison

    For version comparison, you can either:

    • Implement a lightweight comparison function (the version format is consistently vMAJOR.MINOR.PATCH)
    • Use the semver npm package for more robust parsing

    Rate Limiting Consideration

    The GitHub API has rate limits for unauthenticated requests (60 requests/hour). Consider using the existing token input for authenticated requests (5,000 requests/hour) to avoid hitting this limit in CI environments with frequent runs.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions