-
Notifications
You must be signed in to change notification settings - Fork 40k
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
Releasing (as in "git tag") Kubernetes versions #1018
Comments
I'm cool with this plan (I like ldflags better than the sed script) but I'm not sure we should name releases until we have an installable and tested binary release out there. |
@jbeda This is exactly what I would call a "chicken and egg" problem :-) I think once we have a v0.2 tag, creating a binary distribution from it should be trivial... And the tag is there, so even if you don't figure out how to build one right now you can always check it out later and build one... What's blocking us on creating a binary distribution? (Other than the fact that we won't really have a name for it, since we're not doing proper versions?) |
@filbranden I think the only blocker is someone actually buckling down and doing it ;) want to volunteer? |
@filbranden I think I've set a higher bar (probably higher than necessary) for a binary distribution. I'd love to get us deploying via docker instead of just dropping a tar ball with instructions. I think we need to separate out the server components/docker images, the cluster bring up scripts/support (including salt configs) and the "client SDK". But perhaps I'm making it more complicated than it needs to be. |
#1014 has the first part of ldflags to remove version. |
I have PR #1025 with versioning fixes. @smarterclayton I only saw your #1014 now, sorry about that... I'm trying to get more useful information including the Please take a look. Cheers, |
Closing this, as we now have a release, and we're going to continue with the process as established going forward. If we need changes to the process we'll file other issues. |
We need to start versioning Kubernetes.
The base of it is creating annotated tags (
git tag -a ...
) every time we want a new release.I would propose that we release v0.2 now (as soon as we have versioning fixes in place) and put in place a process to tag new releases every so often.
The versioning fixes are mostly about adding version information to the binaries (e.g., for when we call them with the
-version
argument.) We want to inject version information from git but we also want to be able to build the tree without the git information (e.g. straightgo build
call, usinggo get
or downloading a tarball without the .git/ tree from GitHub.)My proposal is to add some information that approximates the state of the tree, such that we can give some version information even if it's not exact. For instance, we'll call these releases v0.2-dev which means, this is somewhere in between v0.2 and v0.3 but we can't tell exactly where, we can't tell whether the tree was clean or dirty (there's no git, so how can we know?) etc.
We could set these up as "fallback" variables in the
pkg/version
module:Then, for the build from git (using either
hack/build.sh
ormake
in the short future) we can inject these variables using -ldflags, e.g.:I'll send a PR to implement the fallback versions and the ldflags on go build shortly... I don't want to get it merged as a PR though, I'd prefer to just push it as a standalone commit and then tag it with the v0.2 version, making it the official v0.2.
Let me know if you like that plan.
Cheers,
Filipe
The text was updated successfully, but these errors were encountered: