Skip to content

Portion of chart.metadata.version unexpectedly treated as a number #374

Open
@iainsproat

Description

Recreation steps

  1. Install the latest chart releaser version:

    > cr version
    GitVersion:  v1.6.1
    GitCommit:   0102fa30dd78df0d0f8093c4607e6080972ff82d
    BuildDate:   2023-10-31T07:28:18Z
    GoVersion:   go1.20.10
    Compiler:    gc
    Platform:    darwin/arm64
    License:     Apache 2.0
    
  2. Set the helm chart version as follows:

    version: 2.18.2-branch.testing.79682.0162870
  3. run cr package

  4. we receive Error: validation: chart.metadata.version "2.18.2-branch.testing.79682.0162870" is invalid

Workarounds

  • remove the leading 0 in the last set of runes following the period:

    1. Set the helm chart version as follows:

      version: 2.18.2-branch.testing.79682.162870
    2. run cr package

    3. we receive Successfully packaged chart in....

  • add one or more non-digit runes to the set of runes following the period:

    1. Set the helm chart version as follows:

      version: 2.18.2-branch.testing.79682.016a870
    2. run cr package

    3. we receive Successfully packaged chart in....

Discussion

It seems that the set of runes following a period or hyphen is interpreted as a number rather than a string if all runes are digits. The presence of the leading 0 causes an error when parsing the runes as a number. This was unexpected.

Related issues

  • AppVersion treated as decimal number #362 discusses a similar issue with appVersion, and where the entire value is numeric. This differs from this issue which identifies the problem in version and where a portion following a period.

Activity

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

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