Best way to merge coverage data from different build configurations?

We have an application that requires a large number of integration tests, so we have broken them out into separate build configurations.  What I would like to do is set all the configurations to run against the same set of sources, and then at the end create a new configuration that will use EMMA's merge task to combine the coverage data into one set of graphs.  What I am thinking of is something like this:

Build A -- clean build, runs unit tests

Builds B - F -- use Build A's sources, run various integration tests in parallel (two agents in use)

Build Z -- run merge on coverage output from Builds A-F

What I need to start is info on how to configure the dependencies and the start trigger.  Should I set Build Z on a particular schedule and let its dependencies drive the other builds?  If Z depends on A-F, and B-F each depend on A, will things resolve properly so that A only runs once, followed by B-F (which only depend on A, not on each other), followed by Z?


Hi Mark,

If you're using TeamCity 5.0.x you could:
— for B-F configurations add a shapshot dependency from A configuration
— for Z configuration add a shapshot dependency from B-F configurations and enable VCS Trigger with "Trigger on changes in snapshot dependencies" option set ON.

If you're using TeamCity version below 5.0.x please refer to the comments at this issue.


Thanks, Marina!  I will give it a try.


Please sign in to leave a comment.