couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Young <>
Subject [Proposal] Github PR + Mailing Lists for Reviews
Date Thu, 23 Jan 2014 15:31:37 GMT
I had the good fortune of being in the #couchdb-meeting channel 
yesterday when the meeting kicked off, and subsequently got tasked with 
proposing a review process based on Github Pull Requests based on the 
recent "we need more reviews" thread.

To that end, here's the proposal for mixing Github Pull Requests (Github 
PRs heretofore) into the Jira, Git, Mailing List mix.

First, Github PRs are already in use by non-committer contributors (like 
myself) and frequently used by the Fauxton devs (Garren & Sue mostly) 
for reviewing each others more "volatile" patches.

Second, this "process" can be added along side how things are done now, 
used as found useful, and (in time) potentially become part of the daily 
process of getting code into master. This proposal is to encourage the 
use of Github PRs for anything non-trivial to get at least two sets of 
eyes on all the code that hits master. Unlike a tool like Gerritt (which 
I've used in the past), this is not a blocking process and can sit 
alongside (as it does now) the current "a patchy" process of committing 
straight to master.

The key thing missing from Github PRs is communication with the other 
tools already in use: Jira and the Mailing Lists.

I've done some research to bridge that gap, and come up with the 
following options.

Option 1:
Adding an "bot" email address and Github account with 
notification levels and "watch" status to relay PR comments to the 
Mailing List. There is an Email Service Hook for Github repos, but it's 
limited to commit activity (from what I could tell). Having a full 
account that handles this can increase control on what's received, set a 
proper sender on the emails to the list, etc.

Option 2 (likely too bothersome):
Github does offer a Jira service hook. It seems to only handle commit 
activity and require specific commit message content to actually function:

Option 3 (much more overhead): (would require $$ or a donation from them of an account to 
Apache as well as "buy in" by Apache Infra, etc) can relay activity 
within a Github project to many other tools including Email and Jira. 
The advantage with this approach would be turning PRs and subsequent 
comments into Jira ticket comments. The setup overhead is much greater, 
the ongoing expense (possibly), and someone(s) to keep it 
fed/happy/working properly may obviate it's value and use.

Option 1 is by far the more doable, easier to ship sooner and would get 
an existing "process" in place with the existing tools. The same process 
done for the Mailing List notifications could potentially be done (with 
a bit more setup work) to get notifications sent to Jira.

Objectives met by Option 1:
  - add code review to Apache CouchDB process
  - keep it an "additive" process (rather than a blocking one)
  - increase cross-tool communication

Hope that helps! :)


View raw message