Confirmed users
571
edits
No edit summary |
(linked to Firefox docs for further information about Try server some cleanup) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Sheriffing How To|Recommended Try practices}} | {{Sheriffing How To|Recommended Try practices}} | ||
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 [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 [https://firefox-source-docs.mozilla.org/tools/try/index.html 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. | ||
Note that the guidelines below are not a substitute for using your best | Note that the guidelines below are not a substitute for using your best judgment. The guidelines below are intended to be general recommendations but not absolute musts. | ||
<ol> | <ol> | ||
<li>In many cases, | <li>In many cases, running all builds and tests is overkill and <b>should be avoided</b>. A full Try run consumes <b><u>over 500hrs 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 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. | <li>If the patch only affects one platform, only that platform should have builds and tests.</li> | ||
<li>Be aware of which test suites are likely to be affected by your patch and avoid running others that won't. | |||
<ul><li>For example, a devtools-only change is unlikely to break any tests outside of mochitest-dt and xpcshell.</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>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. (Use copy several filter changes with <code>./mach try chooser</code> and copy and paste if necessary). | ||
<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> | <ul> | ||
<li> | <li>Linux64 is the best choice for the test platform as it is the least resource-constrained.</li> | ||
</ul> | </ul> | ||
</li> | </li> | ||
<li>If you no longer need builds/tests from a run, cancel the remaining jobs. | <li>If you no longer need builds/tests from a run, cancel the remaining jobs. | ||
<ul> | <ul> | ||
<li>Use the stop button on Treeherder's job details panel.</li> | <li>Use the stop button on Treeherder's job details panel.</li> |