TeamCity not using latest VCS commit
My VCS is GitHub, with all my VCS roots on the <Root Project>
I've got one configuration failing because of a script file not existing when the build is called. In actuality it's because the commit the build is referencing pre-dates that files existence. In my sample my problem is in my subsequent build of Configuration_C:
Configuration_A
buildDate: July 21st 15:44 - Success
- VCS_ROOT: repo:Scripts - branch:refs/heads/master - commit:fe8b577 (head at time of build)
- VCS_ROOT: repo:Libraries - branch:refs/heads/master - commit:945f4a5 (head at time of build)
Configuration_B
buildDate: July 27st 11:01 - Success
- VCS_ROOT: repo:Scripts - branch:refs/heads/master - commit:5842a25 (head at time of build)
- VCS_ROOT: repo:Forms - branch:refs/heads/master - commit:d432689 (head at time of build)
- VCS_ROOT: repo:Libraries - branch:refs/heads/master - commit:945f4a5 (head at time of build)
- VCS_ROOT: repo:Shared - branch:refs/heads/master - commit:4ea4886 (head at time of build)
Configuration_C
buildDate: July 21st 17:13 - Success
- VCS_ROOT: repo:Scripts - branch:refs/heads/master - commit:fe8b577 (head at time of build)
- VCS_ROOT: repo:Forms - branch:refs/heads/master - commit:d432689 (head at time of build)
buildDate: July 27st 10:59 - FAIL
- VCS_ROOT: repo:Scripts - branch:refs/heads/master - commit:09cfa90 (NOT HEAD)
- VCS_ROOT: repo:Forms - branch:refs/heads/master - commit:d432689 (head at time of build)
I'm not aware of any changes made that would rationalize why my commit history went backwards in time. I would have expected adverse affects across multiple configurations as this a core repository where all my build process code lives. Once a few months back I saw something akin to this problem, with a commit not being the HEAD, it was a niche repository so I dropped the VCS_ROOT and re-added it and that resolved the problem; but now this having happened again I want to raise this issue to ask if there was other places i should look to see if there's a logical explanation?
Please sign in to leave a comment.
Revisions are calculated when the build is queued, utilizing the full build chain including dependencies. If some build on the chain cannot access the latest revision for some reason, it might reuse an older revision. This would be fairly uncommon, however.
Is your build part of a chain? It sounds like your builds are probably all using the same VCS Roots and branches. Do you have any checkout rules on any of the builds? Would you be able to share a screenshot of your changelog with the boxes ticked for Show Graph, Show Builds, and Show Files?