We're experiencing an issue with Snapshot dependencies, in the following scenario:
Config_1 - Build triggered by VCS update, with exclusions using Trigger Patterns of -:DirectoryName
Config_2 - Build triggered by Config_1, with snapshot dependency on Config_1
Config_3 - Build triggered by Config_1, with snapshot dependency on Config_1
All the triggering and snapshot dependencies work fine, until someone checks something in mid-build. If the build is in the process of carrying out Config_2, then when it comes to Config_3 it checks the sources of Config_1, which is fair enough. However, I was expecting that if something had been checked in which was excluded from the initial triggering of Config_1, then Config_1's sources would be valid and it would just jump straight to Config_3. However, these exclusions appear to be ignored and so if any of the sources are altered then it kicks all of Config_1 again. Unfortunately, I have about 60 directories excluded for this configuration and the likelihood of something being checked in in one of the excluded directories is very high. Also, we don't have 3 build configurations, we have almost 20 and we're finding that it's virtually constantly building Config_1, which just happens to take a good half an hour to run!
Is there any way to get it to enforce exclusions for the calculation of whether sources are valid, or do I need to change my VCS root and take out the directories which we don't care about? I'd prefer not to have to do that, as we have one major repository and it would significantly lengthen our build process.
Alternatively, is there any way to configure it so that once a VCS trigger has gone off that you can then forcibly use that source for other build configurations, without it checking for the source validity on each configuration? I'd prefer it to run all 20 build configurations through to the end without it doing any more updates.
Hopefully that all made sense...