Firefox 3.0rc1:BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers


Bonsai queries

Last checkins for build 1:


Tracking bug for Firefox 3.0rc1 - bug 428074


Module Tag Pull date
cvsroot/mozilla GECKO19_20080512_RELBRANCH HEAD @ 2008-05-11 17:50 PDT
FIREFOX_3_0rc1_BUILD1 GECKO19_20080512_RELBRANCH @ 2008-05-12 02:24 PDT
FIREFOX_3_0rc1_RELEASE GECKO19b5_20080512_RELBRANCH @ 2008-05-12 02:24 PDT
l10n/l10n GECKO19_20080512_RELBRANCH HEAD @ 2008-05-09 10:00 PDT
FIREFOX_3_0rc1_BUILD1 GECKO19_20080512_RELBRANCH @ 2008-05-12 02:36 PDT
FIREFOX_3_0rc1_RELEASE GECKO19_20080512_RELBRANCH @ 2008-05-12 02:36 PDT

Build data

Type Build ID SHA1 Push date Build machine
[Windows installer] en-US & l10n:fx-win32-1.9-slave2
[Mac compressed] en-US & l10n:fx-mac-1.9-slave2
[Linux compressed] en-US & l10n:fx-linux-1.9-slave2


We've changed the naming scheme (bug 428063) so this sheet will track

  • 3.0 RC1 build 1
  • 3.0 RC1 build 2

etc until we publish 3.0 RC1 to the world (see the Tags section above for matching changes). We'll have a extra pages for the RC2 and RC3 releases as we get to them.

Build 1

Bootstrap tag: RELEASE_AUTOMATION_M9_1

Setup before starting:

  • compare nightly and release mozconfig/ files, merge any desired changes
    • One off for the first build: change update channel from beta to release in the three mozconfigs for en-US
  • updated the bootstrap tag in master.cfg, and landed after review. Merged the change onto production-1.9-master, commented out the dep builders and reconfig'd the master
  • tagged mozilla/tools/tinderbox with RELEASE_AUTOMATION_M9_1
  • On fx-mac-1.9-slave2, fx-win32-1.9-slave2, fx-linux-1.9-slave2
    • REMEMBER to use VNC when restarting mac slave
    • verify that both mac and linux have "xhost +" since last reboot
    • remove the contents of /builds/verify/*
      • FIXME should be automatically backed up or removed - bug 413178
    • update tinderbox to RELEASE_AUTOMATION_M9_1
      • FIXME update should be automatic - bug 397554
      • on linux & mac
        • cd /builds/tinderbox/mozilla/tools/tinderbox
        • cvs up -r RELEASE_AUTOMATION_M9_1
      • on win32
cd /e/builds/tinderbox/mozilla/tools/tinderbox
for dir in fx19rel fx19l10nrel xr19rel; do 
  cd /e/$dir; 
  for f in `ls *.pl *.html INSTALL README | grep -v`; do 
    cp -pv /e/builds/tinderbox/mozilla/tools/tinderbox/$f .;
  cp -pv
  • on fx-linux-1.9-slave2, cvs up in /data/cltbld/bin
  • On production-1.9-master (last time we need to do this, bug 415970 means we don't use the master as a file server any more)
    • remove the contents of /builds/updates/
    • remove private and public areas
      • rm -rf /data/cltbld/firefox-*
      • in /home/ftp/pub/firefox/nightly/, remove all except the 3.x-candidates directory for the previous release
  • update fx-moz19-bootstrap.cfg, get review, land and move the bootstrap tag to your new revision (NB: this changed since bug 415970 - no need to cvs up the bootstrap.cfg on the master any longer but moving the tag is critical). This setup occurred relatively late because RC1 was pushed backed several times, all the other setup was done early.
  • kick off buildbot (run as cltbld):
buildbot sendchange --username=nthomas --master=localhost:9989 -m "Firefox 3.0 RC1 Build1" release


  • automated, no problems


  • automated, no problems


  • win32 build failed on running out of disk space. Removed the objdir for the nightly build and the collected l10n builds for old releases, commented out TinderConfig and the preceeding cleanup step from the buildbot master config and reconfig'd (affects all three platforms). Forced a win32 build.


  • Signing doc
  • Make 10GB of space available on fx-linux-1.9-slave2 before uploading signed files to the staging server.


  • automated, no problems

Generate Updates

  • automated, no problems

Update Verify

  • all platforms failed for ga-IE (b3,b4) because it didn't ship for b5 (bug 384065)
  • mac verify failed on ar (b3,b4) and he (b2,b3,b4) locales for the same reason, and also gu-IN since we're not shipping it for RC1
  • win32 also has bug 404340, a long standing bug about how checksums show up different in updatedinstall-vs-cleaninstall. Not a blocker, we've shipped with this for a while now.


  • automated, no problems

Sign Installers

  • Done manually using these installer-signing-instructions here
  • complete stage-merged:
# on stage
cd /data/cltbld/firefox-3.0rc1/
rsync -av batch1/mar/ stage-merged/
rsync -av batch1/stage-signed/ stage-merged/
  • Create MD5 and SHA1 checksum files
# on stage
cd /data/cltbld/firefox-3.0rc1/stage-merged/
~/bin/checksum-files .
  • Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:firefox .
chmod 644 *SUMS

Update Bouncer

  • done manually.

Push to mirrors

  • push the stage-merged directory to the releases area:
# on stage
rsync -av /data/cltbld/firefox-3.0rc1/stage-merged/ /home/ftp/pub/firefox/releases/3.0rc1/

Publish Updates to Beta Channel

If you need to cancel/abort updates, the quickest way to do this is here

While waiting for formal "go" and mirror sync, backup existing beta channel

 # login to aus2-staging
 $ sudo su - cltbld
 # make sure using latest version of scripts
 $ cvs -d get -d bin mozilla/tools/release/bin/ 
   cvs checkout: Updating bin
 $ cd /opt/aus2/snippets/staging
 # note the required parameter must match what will be used with pushsnip below. 
 $ ~/bin/backupsnip 20080513-Firefox-3.0rc1

Once the mirror sync is good: on a linux/Mac build slave, run the quick updateverify test for the releastest channel

cd /builds/verify/firefox-3.0rc1/updates
cat moz19-firefox-*.cfg > releasetest.cfg
sed -i.bak 's/betatest/releasetest/' releasetest.cfg
./ -t releasetest.cfg 2>&1 | tee releasetest.log

Should be all HTTP/200 OK results e.g.:

grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200

This test passed, but QA had issues, see bug 434065 for the details on the bouncer infrastructure problem.

On aus2-staging, ensure that releasetest channel contents match beta channel contents (we also checked this earlier)

cd /opt/aus2/snippets/staging/20080513-Firefox-3.0rc1
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080513-Firefox-3.0rc1-test/$a");' 

No diffs found - which is correct.

Once QA and overall driver gives formal "go" to put updates on beta channel

 # login to aus2-staging
 $ sudo su - cltbld
 $ cd /opt/aus2/snippets/staging
 $ ~/bin/pushsnip 20080513-Firefox-3.0rc1