More on “How far we’ve come”

After I posted “How far we’ve come” this morning a few people expressed interest in what our release process looked like before, and what it looks like now.

The earliest recorded release process I know of was called the “Unified Release Process”. (I presume “unified” comes from unifying the ways different release engineers did things.) As you can see, it’s a very lengthy document, with lots of shell commands to tweak/copy/paste. A lot of the things that get run are actually scripts that wrap some parts of the process – so it’s not as bad as it could’ve been.

I was around for much of the improvements to this process. Awhile back I wrote a series of blog posts detailing some of them. For those interested, you can find them here:

I haven’t gotten around to writing a new one for the most recent version of the release automation, but if you compare our current Checklist to the old Unified Release Process, I’m sure you can get a sense of how much more efficient it is. Basically, we have push-button releases now. Fill in some basic info, push a button, and a release pops out:

3 thoughts on “More on “How far we’ve come”

  1. Before the “Unified” process, we used to do releases completely manually by copying (intranet) wiki pages and search/replacing the version number. One big change was that we made it totally public, and another was that we started a plan to automate it.

    I think it was called “Unified” because we could use a single process for all products (Firefox and Thunderbird) and versions, instead of having to have a separate page for each product+version (that was manually followed + had notes for each release)

  2. The primary goal of the “unified” document was to move to script over time (which is why it uses shell variables everywhere), there were a few different attempts at this (in different languages ;)) until the Bootstrap project was finally settled on and then completed.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>