Comment below... > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > Stack > Sent: Saturday, June 06, 2015 21:07 > To: [email protected] > Subject: Re: Proposal: Trafodion Code Development Process in Apache > > On Wed, Jun 3, 2015 at 9:34 AM, Varnau, Steve (Trafodion) < > [email protected]> wrote: > > > Trafodion Dev, > > > > I'm working on the process for how we'll manage code changes once our > > code migrates to Apache git server. Our current process won't work, so > > changes will be needed. I have a proposal for how it will work, but am > > looking for feedback. > > > > We currently submit code changes to Gerrit site (review.trafodion.org) > > for code review and automated testing. It enforces certain workflow > > criteria of reviews and tests and merges the code automatically. > > While Gerrit is highly configurable, it does require that it run > > against the canonical repo and then mirrors it elsewhere. That basic > > assumption is incompatible with the canonical repo being on the Apache > > server and committers having the only write access. > > > > > Unfortunately, gerrit is not an offering up in Apache (I would like it > if it was). There is talk of it showing up but it is not here yet. > > > > > Also, one of the most confusing things about our current usage of git > > is the way Gerrit requires changes to be packaged in single commit and > > with separate change-IDs in the comments. Changing our process will > > have the side benefit of avoiding those issues. > > > > Other Apache projects tend to submit code contributions in one three > ways: > > Jira (attaching a patch file), ReviewBoard, GitHub pull-request Some > > projects use two of the three methods. In general, each project has > > specific instructions on which method you should use. > > > > While github is not running on the Apache infrastructure, Apache infra > > team provides integrations, so that github activity is mirrored over > > to Apache Jira and/or mail lists. That satisfies the Apache > > requirements to archive info related to community work and code > provenance. > > > > None of the three available mechanisms provides workflow requirements > > like Gerrit. Rather, they rely on committers' judgment to ensure > > project criteria are satisfied and merge the code in. What we need, > > however, is the basic code review and test automation capabilities. > > > > In my estimation, GitHub provides the best support for code review and > > test automation. I'm currently working on changing our Jenkins testing > > automation to plug into GitHub, rather than Gerrit/Zuul. Of course, it > > may take a little while to get that working smoothly, but it is > > certainly do-able. > > > > > So, folks would comment on code up in github and CI running on Apache > servers would pull from github? JIRA would also carry comments on > patches and design? > > This will split the comment history across two systems.
Apache Infra provides integration with github, such that all the github pull-request activity is mirrored back to JIRA. Jira is the system of record. Github provides a better code-review interface than Jira, so it is convenient to make code review comments there. Apache/Spark and other projects use similar process. The Apache CI system does not have any RedHat/Centos systems as far as we can tell, so we'd need to continue running them elsewhere. Again, I believe Spark and other projects do as well. One key is that each pull-request in github should have a JIRA-ID in the title. Committers should not discuss/merge something that doesn't. -Steve > > > > > From the development point of view, everyone would need a github > > account, rather than gerrit account. The workflow would be to do work > > on a branch, push the branch to their fork on github, then make a > > pull-request on github. I'll provide some detailed instructions on the > > wiki. In order to facilitate working with github, I recommend folks > > use the git wrapper tool call "hub": https://hub.github.com/ > > > > Details to come, but I wanted to start the discussion whether this is > > the right direction. > > > > > The pull request would come into the apache dev list and then a > committer would apply it with back and forth between contributor and > committer happening in github -- rather than in Apache INFRA JIRA or > review board? > > Would this process have a "dark side" if looking in from an Apache view > only? Patches would show up in dev as pull requests and be committed > without comment because all discussion had happened already elsewhere. > > St.Ack > > > > > -Steve > > > > > > > >
