kudobuilder / kudo

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

Proposal: Switch to Conventional Commits #1404

Open gerred opened 4 years ago

gerred commented 4 years ago

We've been looking at a few ideas and tools around shoring up our commits, making breaking changes more clear, and generally making our release, versioning, and documentation process more automatable.

Introducing: https://www.conventionalcommits.org/en/v1.0.0/

We can use that with tools like commitlint and other Conventional Changelog tooling. We'll still want to write separate notes, but this could help make things a LOT more clear.

I'd like to get the core team's thoughts on this (@alenkacz, @kensipe, @zen-dog especially), and if so, I will PR updating the CONTRIBUTING process and add commitlint as a check and a hook.

Another big benefit, beyond the automation, is it will all help get us into the same mindset with writing good commits.

alenkacz commented 4 years ago

love the idea of improving changelog from commits ❤️ . I see potentially two paths here:

The advantage I see in second option is that you can edit PR after it was merged and change labels/changelog message. You cannot do that with commits without force push.

I think I discussed that second option while back with @meichstedt

I am definitely not against conventional commits :)

gerred commented 4 years ago

I do like that second option too! Could we combine these two things, and have that block used for our longer form release notes?

porridge commented 4 years ago

My concern is that this convention requires fixes/refactors and features to be in different commits, but our GitHub configuration only allows squash merges. This means that if I encounter a need to refactor or cleanup something while working on a feature, I'd need to create a separate base PR and wait for it to be merged before even raising the feature PR. I'm afraid that with our 24h delay rule it would either:

  1. introduce a lot of latency compared to current situation where both changes could be reviewed in parallel, or
  2. discourage applying the boyscout rule (without prejudice to girl scouts)

I can see the following ways around this:

porridge commented 4 years ago

Also, I would expect that a tested way to validate commit correctness on developer workstation is provided before this rule is enforced.