We have a server product that we are building in TC. We have build configurations for several (15) different components/jars. What I want to do is when 1 of these builds finishes it will run tests on the server with the new jar. You would think this would be easy right? At 1st thought, you would think to use a Finish Build Trigger on the "test" build for each of the "component" builds and then have an artifact dependency too. However, since the "test" build takes longer to complete, there could be several "component" builds during that time. So when it gets to running the 2nd "test" build there could be multiple NEW component jars and when it downloads the new artifacts you'll get them all. I want to be able to test each new component JAR by itself. To solve this, you would think a "SnapShot" dependency would be in order, but this causes other side effects. So if I have 15 snap shot dependencies set to the "Component" builds then 1 component build is kicked off by a VCS commit and when it finishes, then the Finish Build Trigger kicks off the "test" build, BUT NOW there are 15 "snap shot" dependencies which starts a build on all 15 which is NOT what I want. Is there any configuration to do what I want?
It would be easy if you could specify that the Finish Build Trigger has precedence and it goes to the top of the queue so that no other builds can happen and thus eliminates the possiblity of have other builds run before the tests are complete. And if you use mulitple agents it would also have to run on the same agent as the build that triggered the Finish Build Trigger. This way I could copy my artifacts to a location on the build agent and not use the artifact dependency because it would still have problems.