Hi All, I'd like to propose that we discourage the use of all-platform try builds.
I cringe a little bit every time I see a full column of orange on a try push. More often than not, it means that we spent an order of magnitude extra compute time verifying that, indeed, the push caused a given test to fail on every single platform. In my experience, a debug-only build on a single platform (say, linux64) gives me about 80% of the information that I get from |-b do -p all|. If a push goes entirely green on a given platform, the chances are decent that it will go green everywhere. If it goes orange, our infrastructure is spared the formality of reproducing the failure in every configuration. If the orange is questionably intermittent, the job can be retriggered (several times) with a single click of the '+' button on the build summary. Single-platform builds certainly won't catch those pesky WinXP-only browser-chrome oranges. But that's what mozilla-inbound is for. The social contract of inbound doesn't, in my opinion, require that the developer painstakingly verify correctness in every configuration. Rather, developers are just expected to be reasonably confident that the push won't turn the entire tree bright orange. And for most changes, a green push on a single platform gives such confidence. There are of course exceptions, especially with massive landings (CPG, DLBI), and various large widget-y or graphics-y changes. But unless the landing schedule is tight enough that 2-3 hours really matters, I'd encourage developers to do a single-platform push first in order to catch the low-hanging fruit. If everyone makes an effort in this department, it will make a significant impact on infrastructure load, which in turn makes life easier for everyone, especially our valiant sheriffs. At least I'd think so. I'm not an expert in this stuff, so if there's some glaring flaw with this approach by all means raise it. On that note, it would be nice if trychooser could implement some kind of |-p any| syntax that would select a platform with the fastest turnaround time and lowest load. This would save developers from manually doing such round-robin scheduling between linux, linux64, and macosx64 (which, in my experience, produce the fastest runs). Thoughts? bholley _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform