Hi Hugo,

The main point I want to bring up an automation tool here is, enforce
mandatory review process and test(regression test probably) to happen
before commit. That would slow down the process of course, but it should
greatly help on code quality.

Even committers would make mistakes from time to time. By adding and
enforce the review process, we would able to a. reduce the obvious bugs or
potential impact on issues author didn't know about, b. transfer the
knowledge for the project. I really think CloudStack would going to be a
more mature project in the future, but our current develop process is too
random and fail to take the whole control of the quality. By specifying
people in the area to review we should able to spot error better in the
early stage.

I know integrating the tool would change how people working on project,
since review and testing would be a necessary part of it. The problem now
is a. committers can still push bad commits without reviewing by experts in
the subsystem, b. current reviewboard is too primitive and overhead for
uploading, updating and applying the patch is too big, and c. reviewboard
is not mandatory. I would like to have devs spend more time on reviewing,
by this way at least we can gain a kind of control over the code base we're
working on.

And correct tool would be important to cut the overhead of our development
process, which can make people more focus on real work.

In conclusion, I'd like to advocate the enforced(by tool) mandatory
review(and testing integration of course) for every commits, and I think
the correct tool is important in this case.

--Sheng


On Mon, Jun 9, 2014 at 11:22 PM, Hugo Trippaers <h...@trippaers.nl> wrote:

> Hey,
>
> I’m all for automated solutions. I’m a happy gerrit user on some other
> projects and quite fond of working with Github pull requests as well.
> However there is one important point that makes working with those tools
> work and that is a willingness by the committers to review requests. Both
> systems rely on either a well functioning and fast CI system or committers
> that consistently and rapidly review requests. Where the latter is actually
> the most important one.
>
> Both gerrit and pull requests do not improve quality. They are just tools
> to facilitate a certain way of working. If we want to improve quality we
> have to do it ourselves, no amount of automated tooling is going to solve
> it for us. As committers it is our job to review commits and make sure that
> quality is maintained. It is also our job to make sure that automated tests
> exist that will catch problems.
>
> At the moment we have a 433,412 line codebase with on average 3.91
> potential defects per line of code (according to coverity). We have a very
> small amount of unit test coverage on our core code and no real idea how
> much or what code is covered by functional testing. If we want to improve
> quality i think that is the place to start.
>
> Of course it is also wise to see if we can improve the quality of the
> incoming commits, but that is easily done by taking a few moments during
> the day to review everything that was pushed to master and fix, revert and
> add unit tests where required. Coach committers/contributors that
> consistently have trouble with adding testing cases on how to do it. That
> part is the responsibility of being a committer, not just the bit that
> allows access to the repo.
>
> If we are able to get this bit going, i’ll happily jump on any barricade
> and start a revolution to get whatever automated tooling we need to support
> this process.
>
> Cheers,
>
> Hugo
>
>
>
> On 10 jun. 2014, at 06:15, Rajani Karuturi <rajani.karut...@citrix.com>
> wrote:
>
> > +1 for github pull requests. They are much better and cleaner than
> review board.
> >
> > ~Rajani
> >
> >
> >
> > On 09-Jun-2014, at 9:17 pm, David Nalley <da...@gnsa.us<mailto:
> da...@gnsa.us>> wrote:
> >
> > On Fri, Jun 6, 2014 at 7:26 PM, Sheng Yang <sh...@yasker.org<mailto:
> sh...@yasker.org>> wrote:
> > Hi all,
> >
> > Seems it's a good timing to bring back the discussion about the gerrit.
> >
> > We want to do CI, and improve our code quality. One obvious way of doing
> > and reduce the workload of devs is introduce a tool to enforce the
> process.
> >
> > I've checked out quite a few projects using gerrit, which would force you
> > to ask for review, and validation before the code can be committed to the
> > repo. Looks it's really a easier way for devs according what I've heard.
> >
> > Even our competitor laid out a very detail workflow based on the use of
> > gerrit( https://wiki.openstack.org/wiki/Gerrit_Workflow ). I guess it
> can
> > make a good reference.
> >
> > Well, gerrit has been brought up a few times before. And now the new
> > process we want to enforce just fits what gerrit(or other automation
> > review/test/commit software) is for.
> >
> > Maybe it's the time for us to review the possibility of using a tool to
> > enforce our commits and improve our code quality(as well as transfer
> > knowledge) again?
> >
> > --Sheng
> >
> >
> > ASF Infra has a very dour view on Gerrit. Don't read that as
> > impossible; there are many projects at the ASF who are interested in
> > Gerrit.
> > That said; what about moving to using github pull requests instead of
> > RB, and from their, having the jenkins pull request builder
> > automatically process every pull request and list information.
> >
> > Here's an example:
> > https://github.com/jclouds/jclouds-labs/pull/61
> > You'll see that every time the patch changes, the jenkins plugin
> > pulled the patch - ran tests against it and reported back.
> >
> > That said; it almost seems like we have the cart before the horse; we
> > need to finish figuring out the CI Infrastructure first.
> >
> > --David
> >
>
>

Reply via email to