Snapshot dependencies being triggered without changes in vcs


We have long build chains with snapshot dependencies and artifact dependencies configured in the same way for every dependency.

The snapshot dependencies are set to: "Do not run new build if there is a suitable one".

We have an installer which is the last item in the chain. Every build of a component increments it's build number. We want the installer to only trigger a build for components that have changed, so that our clients receive exactaly the same version if hasn't changed.

We've been using this strategy with success for a long time. I've noticed that, lately, components that haven't changed (source control) are being forced to build. Looking at the log for one of these components I've found this message:

[13:48:14][Updating sources] Using vcs information from server. Reason: no revision information for build configuration "trunk" and checkout directory C:\TeamCity\buildAgent\work\64dcf6d3f8ee9423 on agent
[13:48:14][Updating sources] Will perform clean checkout
[13:48:14][Updating sources] Clean checkout reasons
[13:48:14][Clean checkout reasons] Agent doesn't have any version of the project sources
[13:48:14][Clean checkout reasons] Checkout directory is empty or doesn't exist

We don't have "Clean checkout" marked on our VCS root. Any idea of why this directory could be missing?

Even if something happened to the directory, shouldn't TC be able to check that my branch is stil at the same commit as the previous build?

Any help would be appreciated.

We're using TC 9.0.1 (on Windows) and Git as our VCS.

1 comment
Comment actions Permalink
Hi Gabe,

The messages in the build log are not related to the builds re-triggering as they happen when the build is already started and TeamCity should not start new builds if they are the same.

Please review the list of requirements for the build to be considered "suitable" for replacement. If you believe that all the requirements are met, please send us build details for both the newly triggered build and the previous build you think should have been used instead. Please do this for the earliest starting build configuration.
You can can retrieve build details by using HTTP request http://TEAMCIT_SERVER/app/rest/builds/id:BUILD_ID_FROM_BUILD_RESULTS_PAGE_URL
(copied from email thread)

Please sign in to leave a comment.