Search code examples
tfsvisual-studio-2015tfvcgated-checkinvnext

TFS vNext Builds - Gated-Check-in Triggers cease to trigger some time after initial definition


I've defined several Build Definitions using the TFS vNext build system. These include use of the Gated Check-In feature.

Initially, when the builds are defined, check-ins that have files that fall within the path of any of the Include sections of the Gated Check-in filters cause the prompt for the Gated Check-In to appear, followed by (upon acceptance) the triggering of the build.

However, after some time (e.g. 1 day), check-ins from some developers no longer trigger the Gated Check-in (and submissions are committed immediately to source control), while check-ins from other developers continue to cause the Gated Check-In prompt to appear.

I'm unable to reset this by just unchecking;saving;re-checking the Gated Check-in checkbox.

As a work-around, I have been able to enable the gated check-in for the same paths on a different build, then undo it, and re-enable on the original build. This only works for a short time, however.

I've seen this in both the TFS Server 2015 Update 2 and Update 3.

This problem never occurred with the old XAML builds.

The server product/version is:

  • Microsoft Visual Studio Team Foundation Server Update 3
  • Version 14.95.25122.0

How can I configure TFS vNext check-ins so that they're always fired?

Keywords:- Gated check-in failure; Gated check-in doesn't fire; Gated check-in skipped


Solution

  • This is a TFS bug.

    After logging a support case with Microsoft, they confirmed that this is a TFS bug that occurs on TFS installations that have multiple TFS Application Tiers (ATs) configured through a load balancer.

    In some cases, the TFS vNext Build Gated Check-Ins skip the verification and commit the changes immediately.

    There is a hot-fix DLL available (for file Microsoft.TeamFoundation.Build2.Server.dll), but it requires contacting Microsoft to obtain it. Given that this is a bug, it shouldn't be a chargeable Microsoft Support incident. (I used one of my MSDN Microsoft support credits, but it wasn't deducted.)