[darcs-users] Automated regression testing with each push

Jason Dagit dagit at codersbase.com
Mon May 2 11:42:09 UTC 2005


Hello,

I was wondering if I could get some advice about doing exactly what
the subject line says.  Let me give some background on our current
work style.

We have one big cvs repo with just HEAD no other branches.  We like to
keep the code in cvs working correctly, we have a test suite that must
be run before a user can do a commit, otherwise the commit script
fails to let the code be checked in.  But this has a problem, if a
user adds a file but forgets to say, "cvs add foo" then foo may be
needed to pass the test suite, but it will not be checked in and the
next time someone else tries to run the test suite they will get
errors.

I'm working on convincing my group that cvs is not the right tool for
us.  I would like to setup darcs so that when anyone pushes changes to
main repo, the test suite will be run on an exact copy of the repo as
if the changes were accepted.  If the test fails, the user should get
an email with the error message, and the changes should be unapplied.
And of course when the test suite passes the code should be checked in
and everyone in the group should receive a notice.

I'm also thinking, that we should have an unstable repository where
the test suite is not run everytime.  But that's another issue that I
think is unrelated to getting the above working.

I'd like to hear how others deal with this sort of situation, and I'd
especially like to hear "lessons learned the hard way" and "This is a
really bad way" stories so we know what to avoid :)

Thanks, 
Jason




More information about the darcs-users mailing list