Build and release: Mozilla's offer

Gervase Markham gerv at mozilla.org
Fri Mar 18 14:17:11 UTC 2016


Dear Thunderbird community,

As you know, there is a goal to give Thunderbird its own independent
build and release infrastructure. The Thunderbird Council will, in due
course, be making a decision about how best to move forward with this. I
suspect they will probably wait until the financial home is chosen, and
perhaps until after the architect is hired, to do that.

However, in order to improve clarity, this post outlines what Mozilla is
willing to pay for and do for Thunderbird in this area. Other people may
of course have other proposals to bring forward, to which this one can
be compared.

In producing this proposal, we (that is me, Gerv, and Doug Turner) have
evaluated two possible paths forward:

A) create an instance of the current Buildbot-based system specifically
for Thunderbird; or
B) port Thunderbird to a new system using Taskcluster and Amazon Machine
Images (AMIs).

We believe porting Thunderbird to a new system is the best plan of these
two by a wide margin. Buildbot is old and patched and not easy to
understand. That system would require physical rather than virtual
machines. Firefox is also moving to Taskcluster, which is a new build
and release automation system being written for Mozilla particularly to
meet the needs of products with complex requirements like Firefox and
Thunderbird. We imagine the cost of operating a Taskcluster system, in
both money and person-hours, would be much less. This is good for
Thunderbird in the long term, as it makes the system much more manageable.

Because MoCo is moving Firefox to this system, they have the expertise
and resources to do the same for Thunderbird, and can do so with reduced
additional effort. Moving to something else like Jenkins-CI would be a
lot more work. Thunderbird is a complex product - the resulting system
will have multiple OSes, multiple datacentres, VMs
and physical machines, signing infrastructure. Jenkins alone cannot deal
with this complexity out of the box. Writing or adapting modules for
Jenkins to control all of this would be significant work, and
duplicative of the work being done in a Taskcluster context.

Therefore, Mozilla's offer is that, if the Council accepts, we will
implement option B) for Thunderbird. We estimate this work will take
about a person-month, and the current plan (although it has slipped once
already) is that it would be done by Mozilla build and release
engineers at some point in Q3. After the porting, Thunderbird's build
and release infra will be contained in AMIs that many modern
organizations can run. The following additional things will be needed:

1) Some physical Mac machines, as they can't be virtualized
2) Somewhere to run the AMIs
3) Someone to manage and respond to alerts from the system

In the short term, Doug Turner’s organization in MoCo is offering to run
the system, but at some point they would need to transition to new
ownership. No timing has been set for that transition, and exactly what
that will look like also depends on the choice of financial home.

In summary, Mozilla is offering to set Thunderbird up with something
modern, flexible and easy to manage in order to reduce the
administrative burden in the future, and we think this plan is both
easiest to secure resources for, and also sets Thunderbird up best for
success. Not all the details are set in stone, but this constitutes the
broad brush strokes of the offer. The Council is at liberty to decline,
but then would need to find resources for and implement an alternative
plan.

As noted above, the decision does not need to be taken immediately.
However, when Q3 comes around, to ensure continuity of service, we will
need to either execute this plan or execute an alternative agreed plan,
because once all Mozilla software which is moving is moved to
Taskcluster, the old Buildbot-based system is scheduled to be
decommissioned.

Gerv and Doug


More information about the tb-planning mailing list