We have a build machine that just builds levels. Sometimes someone
will check in something broken, or will need to do a multi part check
in that takes a bit of time (we have a build machine to build some of
the tools), and we would like to pause the server from building more
levels so they don't all go red. (It doesn't take long for them to go
red, but takes ages till they all go green once they are red).
My first thought was just have a project (with highest priority) that
does nothing, but waits until it is cancelled (see below). This works
except that it is always red itself, is there a way to make the output
of this project green? (or a better way to implement this?)
<project name="Pause Until Cancelled" queue="LevelBuilds"
queuePriority="1">
<triggers />
<tasks>
<exec>
<executable>c:\Windows\System32\cmd.exe</executable>
<buildArgs>/C pause</buildArgs>
<buildTimeoutSeconds>10800</buildTimeoutSeconds>
</exec>
</tasks>
</project>