We have plenty of Pull Requests (PR) in Plone, 89 to this minute. Still to many! Also its difficut to get an overview of the state of an PR. I want to introduce a system of labels to manage this, as well as an process aka checklist.
After working some time through PRs I came up with the following process and states for labels. The labels would make it much easier to work with the list of open Plone PRs - I can remember a lot, but sometimes I have to open a PR again.
I propose a process as follows:
Label PR
Check if PR owner is Plone contributor. If not ask to become one.
Needs rebase? If so request owner to do so.
Quick review. Eventually delegate to package maintainers. Discuss, refine. Ask for the state.
I've seen other projects (jenkins-ci and openstack at least) that add an automatic message when filling a pull request that basically tells them something along the lines of:
thanks for sending a pull request
someone will look at it briefly
here are (link) the usual process of dealing with pull requests on plone
So basically you make them aware of the process, we could even trigger jenkins pull request testing with this.
Now we need:
some webservice (jenkins, mr.roboto or a brand new thingie) that automatically sends this messages (I would say that maybe mr.roboto has nearly everything ready for it?)
the documentation that you just posted in docs.plone.org or somewhere else to be able to link to it
I like this, it will make the whole thing more approachable for me. I hope to get some useful code into Plone soon, this gives me a clearer process to work with.
These labels have shown to be really helpful. But I rarely set them myself and I am sometimes confused about their meaning.
I think, adding a verb to each label might help make it easier to grasp the meaning without referring to this page.
Here is my suggestions:
pr review needed
pr is wip
pr needs rebase
pr is under test
pr ok but deferred
What do you think?
I'd offer to write the script to update the labels (if this doesn't happen automatically)