|
Diffing continuous build results
[
vmassol
]
All continuous builds have a common point: when a project fails we have to find out why. There can be several reasons:
Solving case 1 is relatively easy. However, solving case 2 is usually quite difficult. How could we make it easier? Here's a proposal for improving continuous build tools: When a project goes from a "success" build state to a "failure" build state, perform a source diff (using CVS or whatever SCM used) between the 2 dates on both the project itself + all its dependencies. Then generate a report showing all the changes. This should allow to get a clear view of all the things that changed and that led to the build failure. This strategy seems especially well suited to continuous build systems as these builds are executed often and thus the differences between 2 builds should be small enough to get a clear picture. Has anyone done this already? Does it work? Note: I have suggested this idea to the Gump project. I would be very eager to see how it works out. Implementation details:
Limitations:
CruiseControl doesn't allow this, because we don't have conditional activities; you could build it into your Ant script, but it's usually a pain to do. However... we do publish the timestamp of each build. This can then be fed back into the version control systems to get the source diff. (At work, we played with providing a diff of each source file, but it put too much strain on the CVS server; a different SCM system might work better) --Robert Watkins, March 16, 2004 02:41 AM
Post a comment
|