Open main menu

CDOT Wiki β

Changes

Cross-Platform Mozilla Build Farm

2,167 bytes added, 12:44, 21 March 2007
Wrote initial proposal for build farm project
== Project Name ==

Cross-Platform Mozilla Build Farm

== Project Description ==

The [[Extending the Buildbot|buildbot]] and [[Distcc With MSVC|distcc]] projects have reached a maturity where it is possible to begin thinking about how to combine them in order to create a true cross-platform (Win32, Linux, Mac) distributed build system driven by [http://roberthelmer.com/blog/?p=11 buildbot "try"]. We have access to servers for all three platforms, and could build something of a useful scale.

== Project Leader(s) ==

David Humphrey

== Project Contributor(s) ==

Name(s) of people casually working on the project, or who have contributed significant help. Include links to personal pages within wiki

NOTE: only Project Leader(s) should add names here. You '''can’t''' add your own name to the Contributor list.

== Project Details ==

All of the necessary pieces are now in place to build a proper cross-platform distributed build system. The idea is to allow developers to submit a [[Dive into Mozilla Incremental Build Lab|patch]] and have [http://roberthelmer.com/blog/?p=11 buildbot try] to build with the patch applied. The build should use [[Distcc With MSVC|distcc]] to distribute the build across cluster machines (real or virtual, see below) on hera. The results of the builds should be presented to the user via the web, perhaps using a the current waterfall or some enhanced display.

=== Ideas to consider ===

* It is possible with some work to cross-compile for win32 on Linux using WINE and CL. See [https://bugzilla.mozilla.org/show_bug.cgi?id=369591 bug 369591] for details.
* What is the optimal number of slaves per build host? Some early research suggests that 8 is the upper limit with the Mozilla build system. This needs to be confirmed and tests run to find the right balance.
* How does using Virtual Machines instead, or in combination with, affect build times? What is the right mix of real hardware to virtualized?
* Can we use an automated VM system (e.g., like the one Ben Hearsum is doing for XEN/libvert) to provision build slaves in response to load?

== Project News ==

'''March 21, 2007''' - Proposal of project.