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.