> When it comes to release a minor release, he should : > > 1) go through all the issues in current master and pick the issues that are > required to cherry-pick to branches, and label them with `cherry-pick` > label. > 2) go through all the issues label with `cherry-pick` label, and > cherry-pick the issues in their commit order in master.\
This falls foul of the same problem that we currently have. It means its up to the committer, and not the release manager whether something should go in a bugfix release. What I proposed was, instead of relying on each committer to make this decision, each with imperfect knowledge, we should make the release manager do it at release time. So for example, lets say we wanted to make a bugfix release for 2.2.2, so I want to pull in all bugfixes in master since 2.2.1 was released. I get the git log since the release date. <snip> ivan@tethra:~/pulsar$ git log --oneline --since="2018-12-31" origin/master | head 5e7483f Added note on how to install `libpulsar` with brew on MacOS (#3641) 5e4283e Added link to get individual connectors on download page (#3635) 6e54f89 Fixed the building of javadoc/doxygen/pydoc on site2 build (#3639) c31ccd1 Fix stackoverflow issue with java function window context. (#3621) 1205357 Website for 2.3.0 (#3634) 2d3d81a Clarify apt install instructions (#3632) 4de22cd Pulsar Startup Script fixes to provide custom conf files for bookie shell and configuration store. (#3627) d1fefad Support graceful shutdown Kubernetes (#3628) 2fd283e set functions config to me uniform (#3629) </snip> Then I go through the list, marking those that I'd like to have in 2.2.2. Usually I do it in a few passes to remove the obvious feature stuff and stuff that doesn't matter. This can also be done collaboratively in a gdoc sheet or similar. Once this is done, I have a list of commits I need to cherry-pick, and I do so one-by-one. It creates more work for the release manager, but it means there's a single consistent view of what goes into the release. We can also use the labels as a second layer to pick up stuff that absolutely must go in, but we shouldn't rely on them. IMO, -Ivan