Changing TryServer to require TryChooser

(Originally posted in dev.planning; reposting in case a TryServer user missed this important announcement.)

TryChooser was introduced in sept2010 as an optional way to let people skip build/test jobs they did not want, and hence reduce overall load on TryServer. However, we still see a lot of pushes (~40-50%) to TryServer that are not using TryChooser syntax which results in a “do all platforms (opt & debug) as well as all unittests” request, even though in an informal survey, we hear from anecdotal discussions not all that is needed.

To reduce unwanted jobs on TryServer, lsblakk has a hook ready to land that will immediately reject pushes to try unless the final commit message contains TryChooser syntax. This will encourage people to think about what jobs they really need for their particular situation, and ask for what is appropriate. The website helps build the syntax for developers so there are less typos and the test/talos suites are listed for easy picking.

Of course, please do continue to use TryChooser syntax in your commit message to ask for whatever jobs you feel it is useful to you. The hope is that this change will encourage people to consider the cost of each push, and do the right thing.

Given that tryserver is ~60% of our overall infrastructure load, this should reduce our test load quickly. Details in and of course, here:

If you have any comments or concerns, please comment in the bug. I’ll transcribe any comments below to the bug.

2 thoughts on “Changing TryServer to require TryChooser

  1. Cool! It’ll be interesting to see if this reduces load, or if those people who didn’t specify try syntax just wanted “all platforms and unit tests”; ie. if those informal discussions are correct. Hopefully!

  2. Nice work on this, hopefully it will make a big difference! 🙂

    One thing I did spot however, was that the default trychooser syntax shown when visiting is the m-c matching run, including talos.

    Would it be better to perhaps have the “mozilla-central matching run” checkbox default to unticked, to prevent people being lazy and copying what they see in the textbox at the top without doing anything else?

    It’s just that try default (ie no try: syntax specified) currently doesn’t include talos, but if people blindly copy the default syntax shown on the trychooser page, it does – which may actually make things worse in the ‘lazy people’ use case.

Leave a Reply