Software Update:Nightly update infrastructure

From MozillaWiki
Revision as of 22:23, 10 May 2006 by NThomas (talk | contribs)
Jump to navigation Jump to search

Overview

Updates are available for nightly builds of Firefox & Thunderbird on multiple branches. This requires the coordination of tinderbox configuration, partial update generation, and the AUS server that provides update information the client applications.

This document describes how that all works, to the extent that publically available info allows. Hopefully the build crew and Mike Morgan can fill out the details and make this page more complete.

Tinderbox

The tinderbox produces the nightly build and a mar with a complete update, and publishes them to the FTP. It also creates a complete update snippet and copies that to AUS.

mozconfig

The update channel is set to "default" (no updates) unless this line is in the mozconfig:

ac_add_options --enable-update-channel=nightly

To pull and compile the code for complete update generation you need:

mk_add_options MOZ_CO_MODULE="mozilla/tools/update-packaging"
ac_add_options --enable-update-packaging

Snippet configuration

Partial Update Generation

Not much information is publically available, apart from

  • the work is done on prometheus, using some sort of script and a cron job
  • it pushes partial updates to the FTP server, and presumably a partial snippet to AUS
  • the code for partial generation lives in mozilla/tools/update-packaging
  • Chase wrote the code, Paul Reed is a current build engineer who knows how to drive it

AUS

This server returns update information to the client, based on the snippets it has from the build systems. It was written in PHP by Mike Morgan.