[crossposting to mozilla.dev.builds; please continue the discussion on
mozilla.dev.platform]
As of yesterday, Pymake has been enabled on all Firefox Win32 builders.
This includes mozilla-central, mozilla-inbound, try, and all project
branches (except elm [1]). Clobber build times (this includes Try
builds!) should go down by 45 minutes to an hour, resulting in faster
turnaround for developers and lower load on the infrastructure.
Pymake has now become the official way to build Firefox 18 and above on
Windows. If you’re on Windows and you haven't moved to Pymake yet, you
should: it's really simple [2]. I recommend setting up an alias to the
in-tree Pymake in your MSYS profile.
GNU Make will still work for now, but we won't have tier 1 continuous
integration for it (at least for Firefox — Thunderbird's still on GNU
Make, but I’m hoping to switch those builds to Pymake soon [3]). Win64
builds are also on GNU Make right now [4], but those aren't tier 1.
A few notes:
- If your project branch is seeing build failures on Windows:
* make sure you're tracking an up-to-date mozilla-central: the last
couple of fixes landed earlier this week and more fixes will be coming
down the line
* try setting a clobber for Win32 builds on your branch.
* ask in #developers or #pymake -- perhaps someone might be able to
help you out
* if all else fails, file a bug with releng similar to [1].
- While try builds are much faster now, we also lose the ability to
build Firefox 15-17 on them. I spent a bit of time investigating
workarounds but didn't get anywhere, unfortunately.
- This also means that you need to pushing an up-to-date mozilla-central
to try, otherwise you *will* see failures on Windows.
- One out of every 20 builds or so is failing with a strange error in
dom/bindings/test -- this seems to be corruption caused by a race
condition that isn't being properly handled somewhere but honestly
shouldn't be happening in the first place. If you see an error in
dom/bindings similar to [5], please retrigger that build. The error's
being tracked in [6].
Thanks to everyone who helped push it over the finish line: ted, khuey,
coop, gps, glandium, catlee, bsmedberg, bhearsum, and anyone else if I
missed them (sorry!).
[1]
https://bugzilla.mozilla.org/show_bug.cgi?id=787563
[2]
https://developer.mozilla.org/en-US/docs/pymake
[3]
https://bugzilla.mozilla.org/show_bug.cgi?id=786516
[4]
https://bugzilla.mozilla.org/show_bug.cgi?id=787655
[5]
https://tbpl.mozilla.org/php/getParsedLog.php?id=14886515&tree=Mozilla-Inbound&full=1
[6]
https://bugzilla.mozilla.org/show_bug.cgi?id=787658