Description
I would like to make a change to our PR process and I wanted to document the rationale for that to solicit some input.
Context
Pull requests in this project need to be categorized in some way so that a meaningful changelog can be generated. Right now, we have a pull request template that asks for two things:
- Add an emoji to the PR title (this is the "kubebuilder" way of doing things and is validated by a GitHub action.
- A
release-notes
block in the PR description to describe the user-facing change of the PR (this is the Kubernetes way of doing release notes).
We use the Kubernetes release tooling release-notes to generate release changelogs.
Problem
Simply said: release-notes
does not understand emoji titles. We essentially ended up with a weird mix of kubebuilder and kubernetes/kubernetes release tooling, which requires the release manager to go over all PRs and add a kind/
label to merged PRs to get classification in the changelog generated by release-notes
.
I've looked at the release tooling for kubebuilder and it seems much simpler than release-notes
, which means that we cannot have a PR title and a user-facing release note (while PR titles might make sense mostly to other kcp contributors, a changelog generally has to appeal to a different audience, the kcp user).
Proposal
I'm in favour of moving fully to the Kubernetes release-notes process (since k/k is also our direct upstream), which means we will remove the emoji-style PR titles and instead ask contributors to add a /kind
command to their PR, which will categorise the PR as bugfix, feature, or some other things (e.g. a chore).