Open iainsproat opened 9 months ago
I think the issue is that it is being parsed as semver: https://github.com/helm/helm/blob/3fc9f4b2638e76f26739cd77c7017139be81d0ea/pkg/action/package.go#L107 And it doesn't seem to be a test case covered by the semver library: https://github.com/Masterminds/semver/blob/e06051f8fcc4c8b4a4990c337b9862a2448722e5/version_test.go#L10
It seems the problem might be with the pre-release naming I have used: 2.18.2-branch.testing.79682.016a870
, where the use of periods in the prerelease name branch.testing.79682.016a870
is causing it to be interpreted as semver.
Recreation steps
Install the latest chart releaser version:
Set the helm chart version as follows:
run
cr package
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:Set the helm chart version as follows:
run
cr package
we receive
Successfully packaged chart in....
add one or more non-digit runes to the set of runes following the period:
Set the helm chart version as follows:
run
cr package
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
, and where the entire value is numeric. This differs from this issue which identifies the problem inversion
and where a portion following a period.