Friday, December 3, 2010

Please use TryChooser

Recently there were some improvements to the trychooser and the landing of those changes led to a couple of bugs[1][2] being discovered and quickly fixed.  It is thanks to those who are regularly using the trychooser that we are able to find bugs quickly and also continue to improve the tryserver.

Right now there are over 350 backed up test/talos requests for the tryserver and when I checked our report for trychooser usage it shows that the average number of users pushing with a try syntax has fallen below 50% where it used to be closer to 60%.

I encourage you to please use the trychooser syntax as much as possible. If you do not need every single try result for your patch, do not just push to try and use up all the resources needlessly. Take a moment to insert some try syntax into your commit message.

See for details and for a simple try syntax builder.

Thanks in advance.


Shawn Wilsher said...

Why have we not thrown the switch on this yet? People have had enough time to try it and provide feedback.

Lukas Blakk said...

What is missing before it can be mandatory is a way to get feedback when you push about what exactly will be triggered, with an option to cancel and fix your syntax if it's not what you want. is the bug that addresses this issue. We need an interactive hg hook.

Chris Pearce said...

What percentage of people who are using TryChooser syntax are using "try: -a", and how has that changed over time?

I regularly push to TryServer (with "try: -a") so that I can "test land" changesets, to avoid breaking the tree or causing random orange when I land for real. TryServer is invaluable for this, I'm glad you guys are maintaining it.

As a core developer, I rarely push to try with anything other than "try: -a". Any arbitrary changeset can cause seemingly unrelated tests to fail (I have been caught out by this at least once). The whole point of TryServer is to catch failures that you don't expect. If I limited the tests or platforms that were run, I wouldn't catch unexpected failures.

Discouraging people from testing on TryServer on all tests/platforms before landing seems to be encouraging more people to land untested changesets, which will lead to more backouts and random orange.

Can we increase the number of build/test slaves to handle increased load, rather than trying to discourage people from using this extremely valuable tool?

Can we install ccache on the Linux boxes? Would that help reduce load?