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.

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