For an example, see https://dev.azure.com/dnceng-public/public/_build/results?buildId=1261235
Our PR builds run this step to try to figure out if it's worth spending time running tests
https://github.com/dotnet/msbuild/blob/fe494f4420703fce289a0b1ea27cf477771e49b6/.vsts-dotnet-ci.yml#L62C1-L80C1
However, because this is an independent job, it can get stalled waiting for a machine, and because all of the actual test jobs depend on it, that can delay PR builds from completion for a very long time.
We should consider moving that computation inside the individual OS/scenario test jobs. That's redundant since it only needs to run once, but I think it would speed up overall execution time since the script is small/fast and it'd avoid this stall.
For an example, see https://dev.azure.com/dnceng-public/public/_build/results?buildId=1261235
Our PR builds run this step to try to figure out if it's worth spending time running tests
https://github.com/dotnet/msbuild/blob/fe494f4420703fce289a0b1ea27cf477771e49b6/.vsts-dotnet-ci.yml#L62C1-L80C1
However, because this is an independent job, it can get stalled waiting for a machine, and because all of the actual test jobs depend on it, that can delay PR builds from completion for a very long time.
We should consider moving that computation inside the individual OS/scenario test jobs. That's redundant since it only needs to run once, but I think it would speed up overall execution time since the script is small/fast and it'd avoid this stall.