Re: [Mailman-Developers] Gsoc idea discussions : Continuous integration tool
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....
participants (1)
-
Stephen J. Turnbull