Hi, I'm Karl Pauls and my team runs Agitator on a Bonsai / Tinderbox system. I'll be sharing the continuous test and continuous integration techniques that we use.
To get right to it, here is our basic Agitator / Tinderbox setup courtesy of our Product Manager, Nicole Pauls:
We do regression-based agitation on every build, and we build on every commit. Yes, we really do build all of our source every time code changes, and it generally only takes a few minutes (the build server is a 2x2.4GHz Xeon with 4G of RAM, 32-bit with a 2.6 kernel). We also build our javadoc on every build as well.
The tinderbox build displays different colors for agitation/test failures, which indicates an issue that must be solved -- just like the build being broken itself (which is red with flames!). The yellow state is an in-build state, the green state is a successful build, and the orange state indicates an agitation or JUnit test failure. Builds with the "D" link provide a zsum download to provide more information to developers curious about the outcomes of the agitation from the build server (which can sometimes be different than their own PC) and help resolve agitation/test failures. Where there are failures, they are highlighted in the log, so they are easy to find.
Additionally, we do weekly full agitations and test regressions with complete dashboard output that is also reviewed by our project/product management as a high level view of not only the test/agitation status, but of code churn and other statistics. We provide the zsums for these agitations as well, which are sometimes more revealing than the regression stuff.
Posted by Karl Pauls at June 27, 2006 10:51 AM
TrackBack URL for this entry: