0
votes

I'm new to TeamCity and having some trouble. I have one configuration that builds a Windows Installer (MSI) package. It has snapshot dependencies on a other configurations that build Merge Modules (things used to build the MSI). Even if the last builds of the Merge Modules were successful and their source code hasn't changed, they still get rebuilt every time I build the MSI. I would like the Merge Modules to not get rebuilt if their source code hasn't changed since the last successful build.

Notes on my situation:

  • In the dependency options, I'm picking "Do not run new build if there is a suitable one" and "Only use successful builds from suitable ones". All the merge modules build successfully.
  • We're using Subversion 1.7 and TeamCity 5.1.5 (can't upgrade easily at the moment).
  • Unrelated changes from elsewhere in the repository are showing up as associated with my configurations. Could that be the issue, and if so, how to fix?
  • All of the build configurations mentioned here have the same VCS roots and checkout rules. All VCS roots are set to "Full support (load changes and checkout)".
  • A large portion of the repository is being checked out because some of those files are referenced in the MSI.
  • Let me know if there is any more information I should include here.

Can anyone shed light on how TeamCity decides when dependencies need to be rebuilt?

2

2 Answers

0
votes

In many cases this problem is caused by "Checkout, but ignore changes" option selected in Subversion VCS root. If this is the case, I would suggest to switch to Full externals support.

0
votes

Edit the dependency and select

"Do not run new build if there is a suitable one"