kudobuilder / kudo

Kubernetes Universal Declarative Operator (KUDO)
https://kudo.dev
Apache License 2.0
1.17k stars 103 forks source link

Krew release automation #1788

Closed rishabh96b closed 3 years ago

rishabh96b commented 3 years ago

Signed-off-by: Rishabh Bohra rishabhbohra01@gmail.com

What this PR does / why we need it: This PR sets up the krew release automation to kudo which helps us skip manually making updates to our Krew manifests on each new version and send a pull request. The Krew release automation is a GitHub workflow bot that can run every time we push a new tag.

gerred commented 3 years ago

Krew automation saves a lot of time, but this isn't automation. If there is a third party system modifying this file, please make sure that is available in a system that has open availability. KUDO has used CircleCI in the past and the owners have been friendly to many CI options.

@kensipe this looks like a templated file so I think we can keep this open, but how this integrates with and PRs against the Krew repository must be part of this repository. If it lives in another system, please bring it into this PR before we merge. Happy to automate any release - which we haven't done well in the past.

@rishabh96b Is this an interim step to more automated release tooling? I think that's OK to get into this repo now while things are being figured out and understood. I think that main is main, and dotfiles don't affect anyone, but we need a clear intent here of what's going to happen around the .krew file before it is merged - we'd like to see this become useful, and for this to be merged I think at least some in-repo documentation of why it's there is important. Interim is OK and things change, but right now there's no context.

@kensipe I'd like for the tone of all of us to be "help me understand how this makes KUDO better", rather than "I don't understand the value" - value is subjective to people, and you and I are in the same place of seeking to better understand this change (and every change!). We all generally agree on automating distribution as a Good Thing™, but not all value is equal to all people - deployment targets, different use cases, etc., all change that function. To provide an example, I use homebrew (or just a ~/bin/$BINARY added to my $PATH), so anything related to krew is inherently not valuable to me, but it's valuable enough for someone to have created a PR on. It's our job as stewards of the project to do the hard work of understanding contributors who see value and gauge that around the project's goals. There may be other ways to solve and provide value for krew distribution that doesn't have to be part of this repo - but that's our job to help a contribution land if someone wants to put in the work! (or, alternately, reject it as not part of the project's scope/mission/goals).

Anyway, that wasn't planned, but I've been thinking a lot about open source in general and how to better build software in the open with a lot of people. @rishabh96b your feedback on these questions is important so you can get automating krew done!

rishabh96b commented 3 years ago

Thanks, @kensipe and @gerred for your valuable feedbacks. @kensipe this PR is still WIP as I need to set up a github-actions which will trigger on every new release and the krew automation bot will create a PR for bumping kudo to the latest released version there. Once the actions is set up, it will add some value for sure. I did this from the feedback received from the krew maintainers to avoid creating manual bump PRs and use the automation bot instead :slightly_smiling_face:

kensipe commented 3 years ago

good points @gerred!

kensipe commented 3 years ago

That is such a better way of stating it @gerred. @rishabh96b how gerred stated it, was my intention... the way he phrased it is so much better. Do you need any help?