version constraints consider build metadata to be meaningful #1338
Labels
bug
This issue describes a defect or unexpected behavior
carvel-triage
This issue has not yet been reviewed for validity
discussion
This issue is not a bug or feature and a conversation is needed to find an appropriate resolution
What steps did you take:
Deploy a Package with version
0.0.0+build.1234
Deploy a PackageInstall with version constraint
0.0.0
What happened:
The PackageInstall could not find a matching version
What did you expect:
Build metadata is ignored in the version comparison following the Semver 2.0.0 spec and the PackageInstall successfully reconciles.
Anything else you would like to add:
https://github.com/carvel-dev/semver/ (included via vendir) is used for version comparisons. (Issues aren't enabled on semver repo)
carvel-dev/semver#1 added Build Metadata to the Compare function for deterministic sort. As Compare is also wrapped by all the LT/GT/EQ/NE functions this has the side effect that "0.0.0".EQ("0.0.0+123") changed from true to false.
https://github.com/carvel-dev/semver/blob/master/v4/semver_test.go#L154 still states that build should be ignored, but the test implementations assert that it is not ignored.
Environment:
kubectl get deployment -n kapp-controller kapp-controller -o yaml
and the annotation iskbld.k14s.io/images
): v0.44.1kubectl version
): 1.26.6Vote on this request
This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.
👍 "I would like to see this addressed as soon as possible"
👎 "There are other more important things to focus on right now"
We are also happy to receive and review Pull Requests if you want to help working on this issue.
The text was updated successfully, but these errors were encountered: