Build Trigger from Snapshot Dependency

I've been having some build triggering issues.  I probably am just missing something.

I have the following projects:

  1. thirdpart
    1. Build trigger on +:thirdparty
  2. common
    1. Build trigger on +:common
    2. Trigger on changes in snapshot dependencies is checked
    3. Snapshot dependency is specified for thirdparty
    4. Artifact dependency for thirdparty
  3. project1
    1. build trigger on +:project1
    2. Trigger on changes in snapshot dependencies
    3. Snapshot dependencies on "Common" and "Thirdparty"
    4. Artifact dependencies on Common and Thirdparty
  4. project2
    1. build trigger on +:project2
    2. Trigger on changes in snapshot dependencies
    3. Snapshot dependencies on "Common" and "Thirdparty"
    4. Artifact dependencies on Common and Thirdparty
  5. deploy
    1. build trigger on +:deply
    2. Trigger on changes in snapshot dependencies
    3. Snapshot dependencies on ThirdParty, Common, project1, project2
    4. Artifact dependencies on ThirdParty, Common, project1, project2


When i run this, it never seems to trigger down stream builds.  For instance, checking into thirdparty doesn't build common,project1,project2, etc.  Checking into project1 does cause common and thirdparty to be built.

I can set finished build triggers, but then I run into a problem with deploy where i want it to run only when both project1 and project2 are complete.

Any help is appreciated.

Thanks,
ADam

3 comments
Comment actions Permalink

Hi

Snapshot dependencies work in "pull" mode - if you change "project1", TeamCity checks there are fresh builds for all dependent configurations. But if you change "common" - no builds are triggered automatically.
You can change this behavior by "Trigger on changes in snapshot dependencies" option in VCS trigger.

Michael

0
Comment actions Permalink

Yeah, that's what I'm hoping.  I guess the question I was wondering is if I turn that on and have a chain where I change something at the bottom that causes two dependent libraries to be build and then a fourth build happens because of either of those two changing, is TC smart enough to make sure that it only does the end "packaging" build once for the change?  Or does it get triggered twice based on the other two builds both completing?     

0
Comment actions Permalink

TeamCity creates a build chain, and the project build is performed just once - it's put in a queue, and waits until all dependent library builds are finished.

0

Please sign in to leave a comment.