Last Comment Bug 786516 - Make Thunderbird builders use Pymake by default on Windows
: Make Thunderbird builders use Pymake by default on Windows
Status: RESOLVED FIXED
:
Product: Release Engineering
Classification: Other
Component: Other (show other bugs)
: other
: x86_64 Windows 7
: P2 normal (vote)
: ---
Assigned To: Chris Cooper [:coop]
:
:
Mentors:
Depends on: 787982 788607 797905
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-28 17:51 PDT by Siddharth Agarwal [:sid0] (inactive)
Modified: 2013-08-12 21:54 PDT (History)
12 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Go fast with Pymake (4.65 KB, patch)
2012-09-03 11:26 PDT, Siddharth Agarwal [:sid0] (inactive)
standard8: review+
sid.bugzilla: checked‑in+
Details | Diff | Splinter Review
Enable pymake for Thunderbird (3.30 KB, patch)
2012-10-01 15:51 PDT, Chris Cooper [:coop]
bugspam.Callek: review+
coop: checked‑in+
Details | Diff | Splinter Review

Description Siddharth Agarwal [:sid0] (inactive) 2012-08-28 17:51:24 PDT
Bug 593585 switches Firefox builders to Windows. We should do the same for Thunderbird.

The biggest problem right now is that make invokes client.py, which means we can't directly use the Firefox copy of pymake in Thunderbird. We can either add another copy to comm-central (ugh) or figure out a way to get GNU make to invoke Pymake.
Comment 1 Mark Banner (:standard8, limited time in Dec) 2012-08-28 23:51:23 PDT
Given that %(basedir)s\build\build\pymake\make.py is currently defined as the command for pymake, could we not have a wrapper around pymake in our build/pymake/ directory, that does anything necessary for c-c and then invoke the core pymake?

Do we actually need to invoke client.py from pymake? From what I can tell in the Firefox buildbot changes they aren't actually dropping the "-f client.mk" arguments, so does that still get processed by pymake or is that just ignored? If it does get processed, then it sounds like we may just need a redirect.
Comment 2 Siddharth Agarwal [:sid0] (inactive) 2012-08-29 03:56:53 PDT
(In reply to Mark Banner (:standard8) from comment #1)
> Given that %(basedir)s\build\build\pymake\make.py is currently defined as
> the command for pymake, could we not have a wrapper around pymake in our
> build/pymake/ directory, that does anything necessary for c-c and then
> invoke the core pymake?

Yes, that isn't a bad idea.

> Do we actually need to invoke client.py from pymake?

That's the most convenient way to do things, yes.

> From what I can tell in
> the Firefox buildbot changes they aren't actually dropping the "-f
> client.mk" arguments, so does that still get processed by pymake or is that
> just ignored?

The -f client.mk does get processed by Pymake.
Comment 3 Siddharth Agarwal [:sid0] (inactive) 2012-08-29 03:58:54 PDT
> That's the most convenient way to do things, yes.

Sorry, I misread that as "client.mk from pymake". Invoking client.py from pymake is what we do now. I guess we could ignore/hack around that if we have a wrapper.
Comment 4 Siddharth Agarwal [:sid0] (inactive) 2012-09-03 11:26:48 PDT
Created attachment 657886 [details] [diff] [review]
Go fast with Pymake
Comment 5 Siddharth Agarwal [:sid0] (inactive) 2012-09-04 13:57:28 PDT
Good news: I have a full Pymake build working, start to finish, on a builder.
Bad news: comm-central doesn't have an equivalent to build-system so I can't test changes out until they go into production, and we did have a couple of those bugs when we tried to deploy Pymake to mozilla-central.

So here's my proposed workaround for this:
(1) Check in a patch that makes comm-central/build/pymake/make.py a stub for GNU make. Something like https://gist.github.com/3582912. I know this works because I tested it on mozilla-central's try the other day.
(2) Turn on Pymake on releng. This means builds will now use the stub pymake.
(3) Experiment on try-comm-central until we have Pymake working.
(4) Switch out comm-central/build/pymake/make.py for the real Pymake.

Standard8 said on IRC that it sounded reasonable.
Comment 6 Siddharth Agarwal [:sid0] (inactive) 2012-09-27 16:54:41 PDT
Comment on attachment 657886 [details] [diff] [review]
Go fast with Pymake

https://hg.mozilla.org/comm-central/rev/f7c185914146

coop: over to you -- we'd like to turn on Pymake from the buildbot side.
Comment 7 Siddharth Agarwal [:sid0] (inactive) 2012-09-27 16:56:43 PDT
(This should be done for all Thunderbird Windows trunk builds, and disabled for aurora/beta/release/ESR just like Firefox.)
Comment 8 Chris Cooper [:coop] 2012-10-01 15:51:41 PDT
Created attachment 666751 [details] [diff] [review]
Enable pymake for Thunderbird

I'm also going to try to get pymake uplifted onto aurora this week for both Firefox and Thunderbird ahead of the merge. I don't really want to be supporting non-pymake in ESR17.
Comment 9 Chris Cooper [:coop] 2012-10-02 07:05:02 PDT
Comment on attachment 666751 [details] [diff] [review]
Enable pymake for Thunderbird

https://hg.mozilla.org/build/buildbot-configs/rev/6b61b62de780
Comment 10 Mark Banner (:standard8, limited time in Dec) 2012-10-04 00:45:52 PDT
Reopening, as this hasn't been pushed to production yet (http://hg.mozilla.org/build/buildbot-configs/rev/66670277e149 did a merge to production, but failed to include this or bug 786177).
Comment 11 Justin Wood (:Callek) 2012-10-04 00:53:24 PDT
(In reply to Mark Banner (:standard8) from comment #10)
> Reopening, as this hasn't been pushed to production yet
> (http://hg.mozilla.org/build/buildbot-configs/rev/66670277e149 did a merge
> to production, but failed to include this or bug 786177).

based on buildbot graph looks like this was a botched merge for the release this week by armen in 44ded4994cb8
http://hg.mozilla.org/build/buildbot-configs/graph
Comment 12 Rail Aliiev [:rail] ⌚️ET 2012-10-04 13:33:09 PDT
In production for reals http://hg.mozilla.org/build/buildbot-configs/rev/ee171db7d4d7
Comment 13 Mark Banner (:standard8, limited time in Dec) 2012-10-05 15:17:18 PDT
Yep, its working, and we've now enabled it on Thunderbird's comm-central and try-comm-central.

I think we want to get it on for TB 17 as well, so we could do that in sync with the merges next week, we'll just need to transplant a few of the patches across.

Note You need to log in before you can comment on or make changes to this bug.