-
Notifications
You must be signed in to change notification settings - Fork 539
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use Semantic Versions for releases #55
Comments
I'm not sure of the history behind apimachinery releases but we do have semantic versioning for client-go. @sttts do you know why we choose to follow semver only for client-go? |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@sttts... Any ideas? |
Also troublesome for Go modules, which mandate names like |
/remove-lifecycle stale |
Would you have any update on this @EngHabu , @caesarxuchao or @sttts ? |
Unfortunately I'm not a maintainer @seenickcode, so I don't really have control one way or another... @nikhita, unfortunately, client-go has the same problem... |
Not having semantic versions is intentional. We want them eventually, but are not able to provide a smooth go.mod experience for a number of reasons. That's why we are holding back tagging all repos as v15.0.0. One of the issues: we probably have to move to versioned imports. This is non-trivial to do while publishing. tl/dr: we are not moving forward with semver tags before we are sure it gives the right experience with go.mod. |
as far as I can tell kubernetes itself works around the issue by referring to filesystem, i.e. https://github.com/kubernetes/kubernetes/blob/v1.15.0/go.mod#L433 The problem is with those who want to use @sttts what is the benefit of versioned imports over semversioned go.mod references? |
They are the only way to use go.mod the way it is supposed to be used, without having replace directives in your go.mod. We have to do that switch eventually. |
Do you mind elaborating on the "versioned imports" issue you referred to @sttts? as well as the other issues blocking this move? is that documented somewhere? is it something we can help with? is it going to be some routine work for a relatively short period of time that will make everyone else's life easier? |
See discussion in kubernetes/publishing-bot#196 The likely result is that all import paths for all published kubernetes dependencies change every release (e.g. to k8s.io/client-go/v15/..., k8s.io/client-go/v16/..., etc)
something like kubernetes/publishing-bot#196 is the likely place for the work
It's hard to tell if frequent disruptive widespread import changes will make everyone else's life easier or not. The work to set up the system that produces those published repos should be short-lived, but once committed to that path, the changes for consumers that actually want to use latest kubernetes libraries are ongoing. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Closing in favour of kubernetes/kubernetes#72638 /close |
@nikhita: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
I don't get why are we using the weird notion of kubernetes- that breaks Go Dep sem-version matching logic... was there a reason behind it or just evolved that way?
The text was updated successfully, but these errors were encountered: