Changes

Jump to: navigation, search

Sheriffing/How To/Recommended Try Practices

2,616 bytes added, 13:41, 5 May 2014
Created page with "The [https://wiki.mozilla.org/ReleaseEngineering/TryServer TryServer] is a critical piece of our infrastructure for ensuring that patches are suitable for landing prior to bei..."
The [https://wiki.mozilla.org/ReleaseEngineering/TryServer TryServer] is a critical piece of our infrastructure for ensuring that patches are suitable for landing prior to being pushed. However, proper usage is important to avoid pushing under- or over-tested patches. This page is intended to provide some recommended practices for finding the right balance. The [http://trychooser.pub.build.mozilla.org/ TryChooser Syntax Builder] offers control over which builds and tests are run.

Note that the guidelines below are not a substitute for using your best judgement. The guidelines below are intended to be general recommendations but not absolute musts.

<ol>
<li>In many cases, a "try: -b do -p all -u all -t none" is overkill and <b>should be avoided</b>. A full Try run consumes <b><u>over 300hr of machine time</u></b> to generate a full set of builds and run the full suite of tests across them. This can have a real impact on wait times across resource-constrained platforms, including production runs.</li>
<li>If in doubt, run both debug and opt builds.</li>
<li>If the patch only affects one platform, only that platform should have builds and tests.
<ul><li>For example, a B2G-only Try run should look something like "try: -b do -p emulator,emulator-jb,emulator-kk,linux32_gecko,linux64_gecko,macosx64_gecko,win32_gecko -u all -t none"</li></ul>
</li>
<li>Be aware of which test suites are likely to be affected by your patch and avoid running others that won't.</li>
<ul><li>For example, a devtools-only change is unlikely to break any tests outside of mochitest-dt and xpcshell.</li></ul>
<li>If the code is cross-platform, a <i>T-style</i> run (build on all platforms, test on one) will find most problems while making best use of resources.
<ul>
<li>T runs can be created by using the "Restrict tests to platform(s)" checkbox on TryChooser.</li>
<li>Linux32 is the best choice for the test platform as it is the least resource-constrained.</li>
<ul><li>"try: -b do -p all -u all[Ubuntu,-x64] -t none" will run builds on all platforms and tests only on Linux32.</li></ul>
</ul>
</li>
<li>If you no longer need builds/tests from a run, cancel the remaining jobs.</li>
<ul>
<li>[[File:Tango-process-stop.png|TBPL stop icon]] The stop icon is visible in the upper-left corner of the push when hovering over it on TBPL</li>
<li>Unneeded jobs are a frequent source of frustration-inducing backlog.</li>
</ul>
</li>
</ol>

[https://secure.pub.build.mozilla.org/builddata/reports/reportor/daily/highscores/highscores.html High scores!]
Confirm
961
edits

Navigation menu