~robcee/ more than just sandwiches

Posted
28 March 2007 @ 5pm

Tagged
Build

It’s CLOBBERin’ time!

it's CLOBBERin' time!That’s right, gentle reader, the unit test boxes (qm-rhel02, qm-winxp01 and qm-xserve01) are now supporting Tinderbox’ clobber support. Updating the contents of (or just touching) mozilla/tools/tinderbox-configs/firefox/$platform/CLOBBER (where $platform is in [macosx, linux, win32]) will cause mozilla/objdir to be deleted. Ideally, you should include a short note in the CLOBBER file about why you’re clobbering. This will show up in the unit test boxes’ logs. Also, your checkin comment to CVS should clearly-state that you’re doing a clobber (and ideally your bug number). As it states in the instructions, try to coordinate in irc:#developers so as not to stack multiple clobbers.

But wait, there’s more! The Windows unit test box, qm-winxp01 gets special treatment. A clobber request will cause that machine to kill a running firefox process. So if, say, a mochitest was frozen from a previous run, clobbering the box should kill that process and hopefully builds and unit tests can proceed as usual.

Sorry for the burning boxes these past couple of days. In the future I’ll go back to my previous development plan of working locally and rolling changes out to the farm when fully-tested on my dev boxes. Who knew killing a process on Windows (or, heck, just deleting a directory with Python) could be such a pain?


3 Comments

Posted by
Brendan Eich
28 March 2007 @ 6pm

I’m sure Benjamin will keep after this general issue, but I wanted to point it out here in case others can help:

If we find the build system failed to handle dependencies of some kind, and we had to force a clobber, we should push on the issue of whether the build system *could* be fixed or extended to track the missed dependency.

It often can’t be done, or it could be prohibitively expensive. But it’s worth asking now and then, or quickly each time, to avoid missing an opportunity for more complete automatic build dependency inference.

/be


Posted by
David Baron
28 March 2007 @ 7pm

I don’t see a mozilla/testing/tinderbox-configs/ directory in CVS.


Posted by
robcee
28 March 2007 @ 8pm

Yeah, that was a mistake on my part, David. I’ll post a correction here as well just in case…

the correct path is mozilla/tools/tinderbox-configs/…

Good point, Brendan. Recently most of the requirements for the clobbers I’ve seen have been because tests have gotten moved around and the _tests directory under objdir needed to be wiped out. Overall, I’d say the build system is holding up pretty well.