Firefox 3.0rc3:BuildNotes
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