carvel-dev / kapp-controller

Continuous delivery and package management for Kubernetes.
https://carvel.dev/kapp-controller
Apache License 2.0
267 stars 103 forks source link

version constraints consider build metadata to be meaningful #1338

Open cjnosal opened 1 year ago

cjnosal commented 1 year ago

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) https://github.com/carvel-dev/semver/pull/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:


Vote 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.

github-actions[bot] commented 10 months ago

This issue is being marked as stale due to a long period of inactivity and will be closed in 5 days if there is no response.

github-actions[bot] commented 6 months ago

This issue is being marked as stale due to a long period of inactivity and will be closed in 5 days if there is no response.