The roads I take...
KaiRo's weBlog
| Zeige Beiträge veröffentlicht am 09.05.2009 und auf Englisch an. Zurück zu allen aktuellen Beiträgen |
9. Mai 2009
SeaMonkey Has New Build Machines!
If anyone of you felt that I was unusually unresponsive in the last few days, this had a good reason - I was deeply buried in intense work:
After Mozilla IT has purchased and basically set up a Parallels XServe, they handed over 8 VMs with base systems to SeaMonkey (we're playing guinea pig for Parallels and virtualized Macs within Mozilla) - that is, I got the build machine names and passwords. Of course, that doesn't mean that everything we need is suddenly working.
I basically spent almost all my time Wednesday through Friday bringing up 3 old Linux reference platform images, 2 pretty current Windows reference platform images, 2 fresh Mac OS X 10.5 installs and a fresh CentOS 5.0 x86_64 install up to really current Mozilla reference platforms and to having everything up to serve as buildbot slaves and all my time today to get a buildbot master up on one of them, do several small fixups to the machine configurations, improving my work on abstracted paths in buildbot factories and basing new SeaMonkey buildbot configs on those, using generic slave pools per platform to do the job. After a number of fixes to get the master to start correctly, I started the slaves and hooked them up - of course, just to notice more errors in the configurations that needed to be corrected.
In any case, the master now has columns for normal ("hourly") builds, and nightlies for all of Linux, Linux64, Mac OS X, and Windows, unittest builders on Linux, Mac and Windows, and debug/leaktest builds on Linux as well as all the columns it uses for release automation. The Linux and Windows slaves as well as one OS X slave are up and trying to satisfy all build requests that come in for them from the master. One OS X machine had strange problems with Terminal.app and then hung up during reboot (even though both have the same reference setup), but eventually it did and just joined the pool; and I'll only care about the 64bit stuff when the rest is working well. I currently have builds reporting to SeaMonkey-Ports on tinderbox, as that waterfall had been unused for a longer period of time, even though I'm currently building standard 1.9.1-based SeaMonkey, no actual "port" of any kind.
So far, only the unit test builds are actually working reasonably, though all builds do compile SeaMonkey fine, we're running into either buildbot config issues (abstracted paths need more fixups for leak test builds) or missing SeaMonkey build features (no "make upload" target yet) right now.
Still, this is major progress and we should now basically have the infrastructure to do both trunk and branch builds in the future, as well as doing releases based on the same automation harness used by Firefox. I only need to get the configurations going for all that, and we need to figure out a few things like what to do about with the old 10.4 Macs vs. the new 10.5 ones (probably can't just go into the same slave pool) and some disk space issues on our old slaves.
In any case, we're one large step into an improved future for SeaMonkey building and releasing architecture. Thanks to the Mozilla Community Giving program for getting us those machines, Mozilla IT for operating the hardware, setting things up and giving us technical support for doing so, and the Build and Release team for creating so nice buildbot configs we could rip off and generic config code to share as well as support in setting things up for our needs. Without all that great help, we wouldn't be able to go anywhere with that.
After Mozilla IT has purchased and basically set up a Parallels XServe, they handed over 8 VMs with base systems to SeaMonkey (we're playing guinea pig for Parallels and virtualized Macs within Mozilla) - that is, I got the build machine names and passwords. Of course, that doesn't mean that everything we need is suddenly working.
I basically spent almost all my time Wednesday through Friday bringing up 3 old Linux reference platform images, 2 pretty current Windows reference platform images, 2 fresh Mac OS X 10.5 installs and a fresh CentOS 5.0 x86_64 install up to really current Mozilla reference platforms and to having everything up to serve as buildbot slaves and all my time today to get a buildbot master up on one of them, do several small fixups to the machine configurations, improving my work on abstracted paths in buildbot factories and basing new SeaMonkey buildbot configs on those, using generic slave pools per platform to do the job. After a number of fixes to get the master to start correctly, I started the slaves and hooked them up - of course, just to notice more errors in the configurations that needed to be corrected.
In any case, the master now has columns for normal ("hourly") builds, and nightlies for all of Linux, Linux64, Mac OS X, and Windows, unittest builders on Linux, Mac and Windows, and debug/leaktest builds on Linux as well as all the columns it uses for release automation. The Linux and Windows slaves as well as one OS X slave are up and trying to satisfy all build requests that come in for them from the master. One OS X machine had strange problems with Terminal.app and then hung up during reboot (even though both have the same reference setup), but eventually it did and just joined the pool; and I'll only care about the 64bit stuff when the rest is working well. I currently have builds reporting to SeaMonkey-Ports on tinderbox, as that waterfall had been unused for a longer period of time, even though I'm currently building standard 1.9.1-based SeaMonkey, no actual "port" of any kind.
So far, only the unit test builds are actually working reasonably, though all builds do compile SeaMonkey fine, we're running into either buildbot config issues (abstracted paths need more fixups for leak test builds) or missing SeaMonkey build features (no "make upload" target yet) right now.
Still, this is major progress and we should now basically have the infrastructure to do both trunk and branch builds in the future, as well as doing releases based on the same automation harness used by Firefox. I only need to get the configurations going for all that, and we need to figure out a few things like what to do about with the old 10.4 Macs vs. the new 10.5 ones (probably can't just go into the same slave pool) and some disk space issues on our old slaves.
In any case, we're one large step into an improved future for SeaMonkey building and releasing architecture. Thanks to the Mozilla Community Giving program for getting us those machines, Mozilla IT for operating the hardware, setting things up and giving us technical support for doing so, and the Build and Release team for creating so nice buildbot configs we could rip off and generic config code to share as well as support in setting things up for our needs. Without all that great help, we wouldn't be able to go anywhere with that.
Von KaiRo, um 23:07 | Tags: build, buildbot, Mozilla, release, SeaMonkey | 1 Kommentar | TrackBack: 1