Releases/Firefox 3.0.13/BuildNotes
Please be sure to use
- UPDATE_PACKAGING_R9 in the bootstrap config
- RELEASE_AUTOMATION_M15 in the buildbot master config (for bug 496491)
Contents
- 1 Build Engineers
- 2 Bonsai queries
- 3 Tags
- 4 Notes
- 4.1 Build 1
- 4.1.1 Tag
- 4.1.2 Source
- 4.1.3 Build & Repack
- 4.1.4 Sign
- 4.1.5 L10nVerify
- 4.1.6 Generate Updates
- 4.1.7 Publish Updates to Test Channels (betatest & releasetest)
- 4.1.8 Update Verify
- 4.1.9 Stage
- 4.1.10 Partner Repacks
- 4.1.11 XULRunner
- 4.1.12 Sign Installers
- 4.1.13 Update Bouncer
- 4.1.14 3.0.13 -> 3.5.x Major Update Refresh
- 4.1.15 Push updates to beta channel
- 4.1.16 Disable 3.0.12 -> 3.5.1 MU
- 4.1.17 Push to mirrors
- 4.1.18 Final Verification
- 4.1.19 Publish Updates to Release Channel
- 4.1.20 Release
- 4.1.21 Release matching XULRunner build
- 4.1 Build 1
Build Engineers
nthomas, bhearsum
Tracking release bug
Bonsai queries
Tags
Build 1:
Module | Branch | Tag | Pull date |
cvsroot/mozilla | GECKO190_20090706_RELBRANCH | FIREFOX_3_0_13_BUILD1 FIREFOX_3_0_13_RELEASE | 2009-07-30 19:18 PDT |
l10n/l10n | GECKO190_20090706_RELBRANCH | FIREFOX_3_0_13_BUILD1 FIREFOX_3_0_13_RELEASE | 2009-07-30 19:18 PDT |
Notes
Build 1
- On fx-win32-1.9-slave2:
- Deleted /e/xr19rel/WINNT_5.2_Depend
- Deleted /e/fx19l10nrel/WINNT_5.2_Depend
- Deleted /e/fx19rel/WINNT_5.2_Depend
- On fx-linux-1.9-slave2:
- Deleted /builds/verify/firefox-3.0.12
- Deleted /builds/verify/firefox-3011-35rc3build2-major-test
- Deleted /builds/updates/firefox-3.0.12
- Deleted /builds/source/firefox-3.0.12
- Deleted /builds/tags/FIREFOX_3_0_8_BUILD2
- Deleted /builds/data/cltbld/firefox-3.0.12
- Deleted /builds/tinderbox/Tb-Mozilla1.9-l10n-Release/Linux_2.6.18-53.1.13.el5_Depend/ (one-off)
- Deleted /builds/tinderbox/Xr-Mozilla1.9-Release/Linux_2.6.18-53.1.13.el5_Depend
- On fx-mac-1.9-slave2:
- Deleted /builds/verify/firefox-3.0.12 (and some old major update test runs, a one off)
- Space free on slaves:
- fx-mac-1.9-slave2: 24G free on /
- fx-win32-1.9-slave2: 16.4G free on D, 14G free on E
- fx-linux-1.9-slave2: 21G free on /builds
- Kicked off automation:
buildbot sendchange --username=nthomas --master=localhost:9989 -m"Firefox 3.0.13build1 release" go
Tag
No problems
Source
No problems
Build & Repack
- Linux - no problems
- Win32 - no problems
- Mac - no problems
Sign
- Signing doc
- NB: Doc change - do only the linked section.
- no problems
L10nVerify
No l10n changes at all
Generate Updates
No problems with update generation
Publish Updates to Test Channels (betatest & releasetest)
No problems
Update Verify
- linux - full PASS
- win32 - .chk files differ, as always, otherwise fine.
- mac - full PASS
Stage
No problems
Partner Repacks
no longer need to do these since we've shipped 3.5 bug 507961 to disable them
XULRunner
automated, no problems
Sign Installers
Done manually using these installer-signing-instructions here. NB: Doc location change, content unmodified.
- Had to locally modify sign-release because it hardcodes 'e:/2008-keys' for the key loocation bug 507660
On Stage complete stage-merged:
# on stage cd /data/cltbld/firefox-3.0.13/ 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.0.13/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
3.0.13 -> 3.5.x Major Update Refresh
be sure to land this AUS patch
Snippet Generation
# ssh cltbld@prometheus-vm.build.mozilla.org mkdir -p /builds/3.0.13-3.5.2-major-update/snippets cd /builds/3.0.13-3.5.2-major-update/snippets cvs -d:ext:ffxbld@cvs.mozilla.org:/cvsroot co -d patcher-configs mozilla/tools/patcher-configs cvs -d:ext:ffxbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d patcher mozilla/tools/patcher cd patcher cvs -d:ext:ffxbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d MozBuild mozilla/tools/release/MozBuild export CVSROOT=:ext:ffxbld@cvs.mozilla.org:/cvsroot # build tools ./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R9 --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_build-tools.log # download mars ./patcher2.pl --download --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_download.log # FIXME - patcher needs to see that the MARs that it thinks are partials # are there or else it will not attempt to generate patchinfo cd temp/firefox ln -s 3.5.2 3.0.13-3.5.2 cd ../.. # Create partial patches and snippets ./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log
Quick verify
Check that releasetest = beta = release.
cd temp/firefox/3.0.13-3.5.2 # releasetest == beta find aus2.test -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/aus2\.test/aus2/; system("diff -r -u $_ $a");' find aus2 -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/aus2/aus2.test/; system("diff -r -u $_ $a");'
# beta == release find aus2 -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta/release/; system("diff -r -u $_ $a");' find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; system("diff -r -u $_ $a");'
Push to AUS
cd /builds/3.0.13-3.5.2-major-update/snippets/patcher/temp/firefox/3.0.13-3.5.2 rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090731-Firefox-3.0.13-3.5.2-MU-test rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090731-Firefox-3.0.13-3.5.2-MU
Enable test snippets
Backupsnip was run for 20090731-Firefox-3.0.13, so I didn't run it again.
# cltbld@aus-staging ~/bin/pushsnip 20090731-Firefox-3.0.13-3.5.2-MU-test
Update verify
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-3013-352-major/ cd /builds/verify/firefox-3013-352-major/ hg clone http://hg.mozilla.org/build/tools # get patch to trawl "Only in" directories cd tools/release/common # on mac & linux curl -sL https://bugzilla.mozilla.org/attachment.cgi?id=367544 | patch -p3 # on win32 wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=367544 patch -p3 < patch # everyone ... cd ../updates platform=linux # or mac or win32 ./verify.sh -c moz19-firefox-$platform-major.cfg 2>&1 | tee $platform.log
results everything the same as 3.0.12 -> 3.5.1 MU. aka, everything is OK
Push updates to beta channel
# cltbld@aus2-staging.m.o # make sure scripts are up to date cd bin cvs update cd /opt/aus2/snippets/staging/ ~/bin/backupsnip 20090731-Firefox-3.0.13-beta ~/bin/pushsnip 20090731-Firefox-3.0.13-beta
Make sure that this AUS throttling update gets landed after beta snippets are pushed, otherwise 3.0.12 beta users will not be passively updated.
Disable 3.0.12 -> 3.5.1 MU
Drivers requested in bug 507967 that we disable the current MU, so that people don't end up going 3.0.12 -> 3.5.1 -> 3.5.2 if they hear that a new firefox release is coming.
# cltbld@aus2-staging cd /opt/aus2/snippets/staging/ rsync -a 20090721-Firefox-3.0.12-3.5.1-MU/ 20090802-Firefox-3.0.12-3.5.1-MU-null/ cd 20090802-Firefox-3.0.12-3.5.1-MU-null/ find . -depth -type d -iregex '.*/beta$' -exec rm -rf {} \; for f in `find . -type f`; do rm $f; touch $f; done
Checked that there 370 empty snippets, to match 370 useful ones in the source dir, release channel only.
~/bin/backupsnip 20090802-Firefox-3.0.12-3.5.1-MU-null ~/bin/pushsnip 20090802-Firefox-3.0.12-3.5.1-MU-null
Push to mirrors
Make sure that you use ffxbld for 'push to mirrors' , rather than cltbld (this is a change, but a desired one).
- push the stage-merged directory to the releases area:
# on stage rsync -av /data/cltbld/firefox-3.0.13/stage-merged/ /home/ftp/pub/firefox/releases/3.0.13/
- edit the exclude file (as cltbld) /pub/mozilla.org/zz/rsyncd-mozilla-current.exclude to add the new release (3.0.13) and remove the previous release (3.0.12).
Final Verification
hg clone http://hg.mozilla.org/build/tools cd tools/release/updates cat moz19-firefox-*.cfg | grep -v major | sed 's/betatest/releasetest/' > update.cfg ./verify.sh -t update.cfg 2>&1 | tee quickVerify.log
- Look for any HTTP error codes besides 200 ("OK") and 302 ("Found"):
grep HTTP quickVerify.log | grep -v 200 | grep -v 302
- A couple of 404 errors, eg for http://mozilla2.snt.utwente.nl so checked again when verify was done and the directory at http://mozilla2.snt.utwente.nl/firefox/releases/3.0.12/win32/zh-TW/ was populated
- Before pushing final updates, verify that "release" and "releasetest" channel match:
# on aus2-staging cd /opt/aus2/snippets/staging/20090731-Firefox-3.0.13 find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20090731-Firefox-3.0.13-test/$a");'
Publish Updates to Release Channel
updated AUS' config-dist.php and pushed because of the new MU at this time.
# cltbld@aus2-staging cd /opt/aus2/snippets/staging ###### # skipped backupsnip, as it was done for FF3.5.2 this morning # ~/bin/backupsnip 20090731-Firefox-3.0.13 ###### time ~/bin/pushsnip 20090731-Firefox-3.0.13 real 2m21.174s user 0m0.427s sys 0m16.176s time ~/bin/pushsnip 20090731-Firefox-3.0.13-3.5.2-MU real 0m20.744s user 0m0.069s sys 0m2.347s
Made sure that this AUS throttle update got landed, tagged, and pushed (instructions are in the bug).
Release
# ffxbld@stage cd /home/ftp/pub/firefox/releases rm latest-3.0 && ln -s 3.0.13 latest-3.0
Release matching XULRunner build
XULRunner builds are produced by the automation, this is to groom them and push to the mirrors.
# cltbld@stage VERSION=1.9.0.13 FX_VERSION=3.0.13 BUILD=1 mkdir -p ~/xulrunner-${VERSION}/batch1/stage-unsigned/{runtimes,source,sdk} cd ~/xulrunner-${VERSION}/batch1/stage-unsigned rsync -av --exclude=*sdk* --exclude=*info* \ /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ runtimes/ rsync -av --include=*sdk* --exclude=* \ /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ sdk/ cp -pv ~/firefox-${FX_VERSION}/stage-merged/source/firefox-${FX_VERSION}-source.tar.bz2 \ source/xulrunner-${VERSION}-source.tar.bz2 cd ~/xulrunner-${VERSION}/batch1 rsync -av stage-unsigned/ stage-signed/
Then create detached signatures per usual process (with PRODUCT=xulrunner, VERSION=1.9.0.13, don't need BUILD or TAG), skip the win32 signing section, do pgp, verify and upload. Back on stage:
cd ~/xulrunner-${VERSION}/batch1/stage-signed cp ~/firefox-${FX_VERSION}/stage-merged/KEY . ~/bin/checksum-files . chown -R cltbld:xulrunner . find . -type f -exec chmod -v 644 {} \; find . -type d -exec chmod -v 755 {} \; cd ~/xulrunner-${VERSION}/batch1 rsync -nav stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/
If all is fine then
rsync -av stage-signed/* /home/ftp/pub/xulrunner/releases/${VERSION}/
(Mirror updating can take a bit, 10-15 mins this time)
Ping mfinkle or Mossop to update the links in these two wiki pages for the version change