Firefox 3.0rc3:BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

nthomas

Bonsai queries

Last checkins:

Bugs

Tracking bug for Firefox 3.0rc3 - bug 438261

Tags

Module Tag Pull date
cvsroot/mozilla GECKO19_20080529_RELBRANCH HEAD @ 2008-05-28 17:00 PDT
FIREFOX_3_0rc3_BUILD1 GECKO19_20080529_RELBRANCH @ 2008-06-10 03:44 PDT
FIREFOX_3_0rc3_RELEASE GECKO19b5_20080529_RELBRANCH @ 2008-06-10 03:44 PDT
l10n/l10n GECKO19_20080529_RELBRANCH HEAD @ 2008-05-28 13:37 PDT
FIREFOX_3_0rc3_BUILD1 GECKO19_20080529_RELBRANCH @ 2008-06-10 03:55 PDT
FIREFOX_3_0rc3_RELEASE GECKO19_20080529_RELBRANCH @ 2008-06-10 03:55 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

Notes

Build 1

Bootstrap tag: RELEASE_AUTOMATION_M9_1

NB: Italicized items were not required for this build (reason given for each).

Setup before starting:

  • compare nightly and release mozconfig/tinder-config.pl files, merge any desired changes - none this time
  • 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 - no changes
  • tagged mozilla/tools/tinderbox with RELEASE_AUTOMATION_M9_1 - we don't need the one change (bug 291167)
  • On fx-mac-1.9-slave2, fx-linux-1.9-slave2 (skipped fx-win32-1.9-slave2)
    • restart linux and windows VMs to sort out any glitches from netapp problems
    • remember to use VNC if restarting mac slave
    • verify that linux has had "DISPLAY=:0 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
      • Nothing to do here; linux and mac slaves already using RELEASE_AUTOMATION_M9_1.
  • on fx-linux-1.9-slave2
    • cd /data/cltbld/bin && cvs up
    • rm -rf /builds/updates/*
    • rm -rf /builds/source/*
    • rm -rf /data/cltbld/firefox-3.0rc2
    • rm -rf /builds/tags/* (but only if you really need the space)
  • 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).
  • kick off buildbot (run as cltbld on production-1.9-master):
buildbot sendchange --username=nthomas --master=localhost:9989 -m "Firefox 3.0 RC3 Build1" release


Tag

  • failed out because Tag::Bump was expecting pre in the versions, checked in a fix to the relbranch and restarted the automation (known bug)
  • had forgotten to remove fx-linux-1.9-slave2:/builds/tags/FIREFOX_3_0rc3_BUILD1/ so did that and restarted again
  • did a cvs rdiff to verify changes between FIREFOX_3_0rc2_BUILD2 and FIREFOX_3_0rc3_BUILD1 - confirmed the change to mozilla/modules/plugin/base/src/nsPluginsDirDarwin.cpp was present (also some NPOTB calendar, mail, mailnews changes that landed on trunk)

Source

  • automated, no problems

Setup symlinks

On stage-old in /pub/mozilla.org/firefox/nightly/3.0rc3-candidates/build1 as cltbld:

for i in `ls ../../3.0rc2-candidates/build2/*win32.installer.exe`; do ln -s $i; done
for i in `ls ../../3.0rc2-candidates/build2/*win32.complete.mar`; do ln -s $i; done
ln -s ../../3.0rc2-candidates/build2/windows-xpi
ln -s ../../3.0rc2-candidates/build2/win32_info.txt
ln -s ../../3.0rc2-candidates/build2/unsigned 
for i in `ls ../../3.0rc2-candidates/build2/*linux-i686.tar.bz2`; do ln -s $i; done
for i in `ls ../../3.0rc2-candidates/build2/*linux-i686.complete.mar`; do ln -s $i; done
ln -s ../../3.0rc2-candidates/build2/linux-xpi
ln -s ../../3.0rc2-candidates/build2/linux_info.txt

When ready for the automation to continue:

ln -s ../../3.0rc2-candidates/build2/win32_signing_build2.log win32_signing_build1.log

Build

  • linux and win32 builders commented out of master.cfg, so never started.
  • mac builds went fine

Sign

  • N/A

l10n Verify

  • automated, no problems

Update Generation

  • We only want updates for Mac, so comment out the buildID's in the patcher config - patch
  • Committed this to cvs after PatcherConfig ran but before patcher downloaded the builds
  • automated, no problems

Update Verify

  • expected gu-IN missing, as it did not ship before
  • automated, no problems

Stage

  • automated, no problems

Sign Installers

  • Done manually using these installer-signing-instructions here
  • Using find firefox-3.0rc2/batch1/stage-signed/ -type f | perl -nle '$a = $_; $a =~ s/rc2/rc3/g; $a =~ s/RC\ 2/RC 3/; system("diff -q \"$_\" \"$a\"");' and assorted greps, verified that
    • there are 47 differing dmg's (49 in shipped-locales less gu-IN and ja), and their asc's also differ
    • that the are 46 differing mac xpi's due to file times changing inside xpi (49 - gu-IN - ja - en-US)
    • there are 48 unchanged linux tar.gz, but there are 48 differing asc's
    • there are 48 differing win32 .exe (from resigning), with 48 differing asc's
    • the source tarball differs
  • Using find firefox-3.0rc2/batch1/mar/ -type f | perl -nle '$a = $_; $a =~ s/rc2/rc3/g; $a =~ s/rc1/rc2/; system("diff -q \"$_\" \"$a\"");' 2>&1 and assorted greps, verified that
    • that the 47 mac complete updates differ
    • that the 45 mac partial updates differ (no partial for 3.0rc1 -> 3.0rc2 for si & sl, first added for 3.0rc2)
    • that there are no windows or linux partial updates for 3.0rc3
    • that none of the 49 windows or linux complete updates differ
  • complete stage-merged:
# on stage
cd /data/cltbld/firefox-3.0rc3/
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.0rc3/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.0/ /home/ftp/pub/firefox/releases/3.0/

Publish Updates to Beta & Release 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 :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot 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 20080610-Firefox-3.0rc3

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.0rc3/updates
# just mac this time
cat moz19-firefox-mac.cfg > releasetest.cfg
sed -i.bak 's/betatest/releasetest/' releasetest.cfg
./verify.sh -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.

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

cd /opt/aus2/snippets/staging/20080610-Firefox-3.0rc3
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080610-Firefox-3.0rc3-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 20080610-Firefox-3.0rc3