I have one CruiseControl.net server which continuously runs builds
when there are changes. I want to set up another one which would fire
a set of integration tests at the same time every 24 hours but only if
the first server completed a successful build in the past 24 hours. I
thought I would be able to do this by combining scheduleTrigger and
projectTrigger inside multiTrigger, but it appears like that doesn’t
work. If I understand correctly, the setup below doesn’t fire
because it would need for the defendant build status to change to
“Success” within 30 seconds of my target schedule time, which will
never happen. But if I changed the intervalTrigger’s seconds to my
target threshold (24 hours), then it would only poll status for in 24
increments from the time the server was started, which also wouldn’t
make the two fire at the same time, but maybe I am missing something
here. Is there a way to accomplish what I am trying to do? Any help
would be greatly appreciated.
<triggers>
<multiTrigger operator="And">
<triggers>
<scheduleTrigger name="scheduled" time="22:00"
buildCondition="ForceBuild" />
<projectTrigger serverUri="tcp://dependandServer:21234/
CruiseManager.rem" project="My Project Name">
<triggerStatus>Success</triggerStatus>
<innerTrigger type="intervalTrigger" seconds="30"
buildCondition="ForceBuild"/>
</projectTrigger>
</triggers>
</multiTrigger>
</triggers>