How do get dependent builds to trigger correctly when their dependencies rebuild?

Here's a simple example:

  B
/ \

A-C-E
\ /
  D  


So what this shows is that A is dependent on B, C and D, which are all dependent on E.  A, B, C, D share the same root.  E is built from a different root, and is published to an artifactory.  B, C and D can either be "Finish Build" triggered from E's TC build, or "Artifactory Build" triggered by new E artifacts.

I'm having trouble getting A to trigger correctly.  If I use snapshot dependencies to B,C and D, A doesn't trigger when B, C and D rebuild due to a new E, even if when "Trigger on changes in snapshot dependencies" is selected.

If I use "Finish Build" triggers to B, C, and D, A always builds at least once, but sometimes multiple times if B, C, and D finish at different times. I've tried using the StartBuildPreconditions from the Groovy Plugin (http://confluence.jetbrains.net/display/TW/Groovy+plug), but that doesn't solve the entire problem. It keeps A from starting if any of B, C or D is still running.  But if B, C, or D is in the queue, A starts anyway.

Thanks for any help you can provide.

Brian Batchelder
TeamCity 6.0.3

1 comment
Comment actions Permalink

Hi Brian

Can you make B, C, and D builds depend from E by snapshot?
It would solve the issue, I think.

Michael

0

Please sign in to leave a comment.