[Mailman-Developers] Gsoc idea discussions : Continuous integration tool

Stephen J. Turnbull stephen at xemacs.org
Mon Mar 10 13:19:30 CET 2014


varun sharma writes:

 > Actually my idea is to import all the unit tests from the projects
 > involved in the suite and write new tests as well if required, so
 > that we can check both "integration of new code" and "integration
 > of components with each other". Selectively combining unit tests of
 > different projects will do the job of workflow manager ?

No.  "Workflow" is the process by which the project develops new code,
and includes handling user requests, assembling requirements and
specifications, designing features and fixes, implementing them in
code, testing, reviewing, approving, pushing to the mainline
repository, and releasing.  The order above, when implemented over the
whole release cycle, corresponds pretty closely to the infamous
"waterfall" workflow, but most open source projects don't follow that.

"Integration" generally refers to some subset of the testing,
reviewing, approving, and pushing steps.  It pretty much always
includes the testing and pushing steps, because those are the sore
point.  Even when a developer is conscientious about testing before
pushing, there is a big problem because in the time that you're
testing, somebody else will push, and you have to pull and retest.

Note that "more test failures" is not an issue, *somebody* will have a
test failure if it's going to happen.  It's the time spent testing if
there *isn't* going to be a failure -- most of the time -- that we'd
like to avoid.  So "continuous integration" is a process that
automatically queues merge requests, tests them, and pushes to
mainline until a merge fails tests.  At that point, the requested
merge is rejected and the responsible developer needs to deal with it,
but the integration process goes on to the next changeset in hopes
that that one won't fail.

That doesn't mean you have to *do* what I've defined as "continuous
integration", just that continuous integration is a bigger job than
just "buildbot for three projects at once".  Just the buildbot project
would be very useful.

One warning: Google is very serious about *code*.  Simply configuring
a buildbot or three isn't going to qualify, you need to write
substantial additional code.

 > > Do you have a blog?
 > >
 > > Yes, i do :) (http://www.sharmalabs.com).Right now i don't post actively
 > on it  but I'll be posting weekly gsoc summaries there if i got selected.
 > :)

Up to you, but starting now is helpful to your chances....



More information about the Mailman-Developers mailing list