Skip to content
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

Support versioning of kustomization-base #121

Closed
micnncim opened this issue Jul 20, 2020 · 14 comments
Closed

Support versioning of kustomization-base #121

micnncim opened this issue Jul 20, 2020 · 14 comments
Assignees

Comments

@micnncim
Copy link
Member

Proposal

It would be better to use Git tag's versioning in kustomization-base for the users.

kustomize has already supported the use of Git refs so all we need to do is to create Git tags.

Related repositories

Background

kleat would work well with kustomization-base, though it's not necessary. So I guess many kleat's users would use the base kustomization.

Currently, the users need to specify bases in this way, in order to use kustomization-base:

bases:
- github.com/spinnaker/kustomization-base/core

This way might break the user's configurations because it always references master (or main) branch so the user's configurations will be affected if kustomization-base is broken.

With versioning like below:

bases:
- github.com/spinnaker/kustomization-base/core?ref=v1.2.3

It allows users to use the specific version with conviction, after examining if the version works with their configurations.

References

@ezimanyi
Copy link
Contributor

@micnncim : Great idea! I think this would make things a lot easier for users to pin to a specific version and deliberately upgrade (rather than always pull in the latest master version).

As the idea would be for kleat and kustomization-base to be loosely-coupled (and one could use one without the other) my thought would be to have independent version numbers for the two.

@micnncim
Copy link
Member Author

micnncim commented Jul 20, 2020

@ezimanyi

Glad to hear your reply!

As the idea would be for kleat and kustomization-base to be loosely-coupled (and one could use one without the other) my thought would be to have independent version numbers for the two.

Yeah, I agree with this idea. Tying the versions of kleat and kustomization-base together would make it difficult to handle.

@ezimanyi
Copy link
Contributor

ezimanyi commented Jul 20, 2020

@micnncim : Sounds good, thanks! I've created v0.1.0 with the current state of the repository. We can bump to v0.2.0 once spinnaker/kustomization-base#25 is merged as that's the first significant change since we've started having people use this.

@micnncim
Copy link
Member Author

@ezimanyi Great work! I appreciate your quick response. You can close this issue anytime as it has met my request.

@micnncim
Copy link
Member Author

@ezimanyi I think it would be better to also create GitHub releases with CHANGELOG to let users know updates.

@ezimanyi
Copy link
Contributor

Yeah, that's a good point...let me create a Github action to push release notes when we publish a release.

@ezimanyi ezimanyi reopened this Jul 21, 2020
@micnncim
Copy link
Member Author

Thank you! Anything I can do to help?

@ezimanyi
Copy link
Contributor

@micnncim : I was just going to look to see if there was a simple Github Action to create release notes on tag push. For kleat we use go-releaser which builds the binaries and also makes release notes. Here of course we don't need to build anything so I was going to check if there was some other simple Github action that only created a release with release notes from a tag.

If you know of any such Github action, or want to look into that, it would definitely be helpful! Otherwise, I'll take a look at this later this week or early next week.

@dbyron0
Copy link

dbyron0 commented Jul 22, 2020

@micnncim
Copy link
Member Author

micnncim commented Jul 23, 2020

@ezimanyi Sounds good!

I recommend we use git-chglog. It's a single binary CLI tool because of written in Go, though many popular changelog generator tools are written in Ruby or JavaScript. We can easily integrate it with GitHub Actions. Actually, I use it for my personal projects with GitHub Actions. The workflow looks like:

  1. We push a Git tag
  2. git-chglog generates a release note in GitHub Actions
  3. actions/create-release creates a GitHub release with the release note previously generated

We can generate release notes in the same format as Kleat's ones.

If you don't mind, I'd like to work on this 😄

@ezimanyi
Copy link
Contributor

@micnncim : That sounds like a great plan, thanks for outlining it! I'll assign you this issue so you can implement it. Thanks!

@micnncim
Copy link
Member Author

micnncim commented Jul 28, 2020

Now that we've merged the PR that supports the generation of release notes with GitHub Actions, let's complete this issue.

To maintainers: could you create the GitHub Releases for v0.1.0 and v0.2.0? You can generate release notes with git-chglog v0.1.0 and git-chglog v0.2.0 in spinnaker/kustomization-base.

@maggieneterval
Copy link
Contributor

@micnncim I am happy to do that; I'll close this issue once I do.

@maggieneterval
Copy link
Contributor

0.1.0 and 0.2.0 have been released with changelogs!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants