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

Varun Sharma varun at sharmalabs.com
Sat Feb 22 07:54:38 CET 2014


Hi all,
I am interested in continuous integration tool as my gsoc project and would
like to discuss further it's possible implementations. I think one possible
implementation for gatekeeper is :

Making another django project mm_gatekeeper which every developer must run
in order to commit to trunk. We can host its repo of on launchpad. It will
act as a proxy to bzr and will perform bzr commit only after all the unit
and doc tests succeeds.


bzr pull can be implemented as

$ mm_gatekeeper PROJECT_NAME pull

or to pull all projects

$ mm_gatekeeper pull


Instead of using bzr commit in postorius we can use

$ mm_gatekeepar PROJECT_NAME COMMAND

$ mm_gatekeeper postorius commit -m"commit message"


commit command will run all the tests first and then using python
subprocess execute the bzr commit command. We can import all the unit tests
from every project while implementing commit command and every test can be
given a value so that we can check if total number of tests passed is equal
to total tests written. It can be further expanded in django by saving
commiter's history, adding automatic testing schedules, getting the branch
info etc.


More information about the Mailman-Developers mailing list