First, the setup:
I have 3 configurations set up. One for Windows, Mac, and Linux each. They all ask for the same branch from a Mercurial repository.
This is among dozens of other configurations which share the agents that these three configurations use.
What I want:
I want to ensure that, even if the build agents for one or two of the OS platforms are in use, all 3 configurations will eventually build the same revision of the branch, even if the branch updates while one of the configurations is building. It would eventually build on all 3 configurations again in order to pull in the latest update for a rebuild.
What I'm curious about:
It seems to be the only way to actually do this is to have a 4th "master" configuration which sets up the other 3 configurations as its snapshot dependency. The master configuration checks for changes and then does nothing but trigger those 3 dependent configurations. Is this the correct way to do what I want to do? I feel like I may be missing something important, since having to set up a 4th master every single time I want to add a new branch for parallel building feels like I'm over-working.