Releases/Firefox 2.0.0.15:BuildNotes
Contents
- 1 Build Engineers
- 2 Bonsai queries
- 3 Tags
- 4 Build data
- 5 Notes
- 5.1 Build 1
- 5.2 Build 2
- 5.3 Build 3
- 5.3.1 Tag
- 5.3.2 Source
- 5.3.3 Build
- 5.3.4 Repack
- 5.3.5 Sign
- 5.3.6 L10nVerify
- 5.3.7 Generate Updates
- 5.3.8 Publish Updates to Test Channels (betatest & releasetest)
- 5.3.9 Update Verify
- 5.3.10 Stage
- 5.3.11 Push Updates to Beta Channels
- 5.3.12 Sign Installers
- 5.3.13 Update Bouncer
- 5.3.14 Add release to rsync module
- 5.3.15 Push to mirrors
- 5.3.16 Final Verification
- 5.3.17 Publish Updates to Release Channel
- 5.3.18 Release
- 5.3.19 Free Software Builds
Build Engineers
bhearsum + alice
Version/config bump bug
Bonsai queries
Tags
Updated CVS Tags devmo page.
Build 1:
Module | Branch | Tag | Pull date |
cvsroot/mozilla | MOZILLA_1_8_BRANCH | FIREFOX_2_0_0_15_BUILD1 | 2008-06-10 12:51 PDT |
l10n/l10n | MOZILLA_1_8_BRANCH | FIREFOX_2_0_0_15_BUILD1 | 2008-06-10 12:51 PDT |
Build 2:
Module | Branch | Tag | Pull date |
cvsroot/mozilla | GECKO181_20080612_RELBRANCH | FIREFOX_2_0_0_15_BUILD2 | N/A |
l10n/l10n | GECKO181_20080612_RELBRANCH | FIREFOX_2_0_0_15_BUILD2 | N/A |
Build 3:
Module | Branch | Tag | Pull date |
cvsroot/mozilla | GECKO181_20080612_RELBRANCH | FIREFOX_2_0_0_15_BUILD3 FIREFOX_2_0_0_15_RELEASE | N/A |
l10n/l10n | GECKO181_20080612_RELBRANCH | FIREFOX_2_0_0_15_BUILD3 FIREFOX_2_0_0_15_RELEASE | N/A |
Build data
Type | Build ID | SHA1 | Push date | Build machine |
[Windows installer/zip] | 2008062306 | production-pacifica-vm | ||
[Mac compressed] | 2008062305 | bm-xserve05 | ||
[Linux compressed] | 2008062305 | production-prometheus-vm |
Notes
Build 1
Bootstrap Tag: RELEASE_AUTOMATION_M9_2
Setup before starting:
- Updated /builds/buildbot/Automation/buildbot-configs on production-1.8-master.
- master.cfg is "Locally Modified" to contain passwords. Identical to repository version otherwise.
- Turned off the nightly builders on production-1.8-master to make sure they don't interfere with the release. (We need to figure out how to avoid this in the future).
- update mozilla1.8 tinderbox to say "no nightlies right now"
- Ran 'buildbot reconfig'
- update /builds/tinderbox/mozilla/tools/tinderbox to the Bootstrap tag (need to revert this before restarting nightlies)
- ensure that machines have enough resources
- production-prometheus-vm - 40G on /
- production-1.8-master - 11G on /builds, 4G on /data
- production-pacifica-vm - 36G on c:
- bm-xserve05 - 34G on /
Tag
Respin bug found while tagging. We let it finish, and then restarted the automation for build 2.
Build 2
- Clobbered /builds/tags/* on production-prometheus-vm
- Updated bootstrap.cfg for build 2, re-tagged.
Tag
No problems.
Source
No problems.
Build
- Win32 failed out because tinderbox was running in the background. When the nightly builds were stopped, the child processes didn't get killed.
- Kill other tinderbox processes, restarted.
Repack
No problems.
Sign
No problems.
L10nVerify
Two things of note:
- bug 351476 changed the line endings on a bunch of files. This caused some spurious output.
- production-prometheus-vm had its kernel bumped. A preprocessed JS file in each package contains the kernel version, which obviously changed between 2.0.0.14 and 2.0.0.15, and caused more spurious output.
No real problems.
Generate Updates
No problems.
Publish Updates to Test Channels (betatest & releasetest)
- No problems
Update Verify
No problems.
Stage
- Failed out because cltbld wasn't part of the 'firefox' group'.
- Created firefox group, added cltbld, restart buildbot slave
No other problems.
Push Updates to Beta Channels
# put snippets on beta $ sudo su - cltbld # make sure using latest version of scripts in mozilla/tools/release/bin/ $ cd bin $ cvs update . $ cd /opt/aus2/snippets/staging # note the required parameter must match what will be used with pushsnip below. $ time ~/bin/backupsnip 20080613-Firefox-2.0.0.15-beta real 40m37.598s user 0m20.948s sys 0m27.232s
After QA gives "ok" to push to beta channel, on aus2-staging do:
# put snippets on beta $ sudo su - cltbld # make sure using latest version of scripts in mozilla/tools/release/bin/ $ cd bin $ cvs update mozilla/tools/release/bin/ $ cd /opt/aus2/snippets/staging $ time ~/bin/pushsnip 20080613-Firefox-2.0.0.15-beta real 2m23.129s user 0m0.151s sys 0m6.964s
Sign Installers
- Had to manually delete old asc files from build2 installer signing:
# On stage cd /data/cltbld/firefox-2.0.0.15/batch1/stage-signed find . -iname "*.asc" -exec rm {} \;
- Done manually using these installer-signing-instructions here
- push signed bits back to same location on stage
- complete stage-merged:
# on stage cd /data/cltbld/firefox-2.0.0.15/ 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-2.0.0.15/stage-merged/ ~/bin/checksum-files .
- Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:firefox . chmod 644 *SUMS
Stop for respin
Build 3
- Clobbered /builds/tags/* on production-prometheus-vm
- Updated bootstrap.cfg for build 3
Tag
No problems
Source
No problems
Build
No problems on linux & win32. Had to manually run 'upload-symbols.sh' in /builds/tinderbox/Fx-Mozilla1.8-release/Darwin_8.7.0_Depend/2008062305 on Mac because cygwin crashed when the automation tried to upload the symbols.
Repack
No problems
Sign
- Signing doc
- No problems
L10nVerify
Two things of note:
- bug 351476 changed the line endings on a bunch of files. This caused some spurious output.
- production-prometheus-vm had its kernel bumped. A preprocessed JS file in each package contains the kernel version, which obviously changed between 2.0.0.14 and 2.0.0.15, and caused more spurious output.
Generate Updates
- backupsnip took 34 minutes
- No problems
Updates for 2.0.0.15build2 to 2.0.0.15build3
- Used this patcher config: https://bugzilla.mozilla.org/attachment.cgi?id=326467
- Ran the following on production-prometheus-vm:
export CVSROOT=":ext:cltbld@cvs.mozilla.org:/cvsroot" cvs co -d patcher mozilla/tools/patcher cd patcher cvs co -d MozBuild mozilla/tools/release/MozBuild cd ../ wget https://bugzilla.mozilla.org/attachment.cgi?id=326467 mv attachment.cgi?id=326467 moz18-branch-2.0.0.15build2-to-build3.cfg cd patcher ./patcher2.pl --app=firefox --config=../moz18-branch-2.0.0.15build2-to-build3.cfg --build-tools --tools-revision=UPDATE_PACKAGING_R4 ./patcher2.pl --app=firefox --config=../moz18-branch-2.0.0.15build2-to-build3.cfg --download | tee ../firefox2.0.0.15build2-to-build3-download.log ./patcher2.pl --app=firefox --config=../moz18-branch-2.0.0.15build2-to-build3.cfg --create-patches --partial-patchlist-file=patchlist.cfg | tee ../firefox2.0.0.15build2-to-build3-create-patches.log rsync -av -e 'ssh -i ~/.ssh/aus' temp/firefox/2.0.0.15build2-2.0.0.15build3/aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080624-Firefox-2.0.0.15build2-to-build3 rsync -av -e 'ssh -i ~/.ssh/aus' temp/firefox/2.0.0.15build2-2.0.0.15build3/aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080624-Firefox-2.0.0.15build2-to-build3-beta rsync -av -e 'ssh -i ~/.ssh/aus' temp/firefox/2.0.0.15build2-2.0.0.15build3/aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20080624-Firefox-2.0.0.15build2-to-build3-test
Partials created here were invalid because DisableCompleteJump was set. Tried a few things to fix this, but couldn't. nthomas suspects it is because the version is the same. To work around, all partial.txt files were deleted so force aus to fallback on complete.txt. On aus2-staging:
cd /opt/aus2/snippets/staging cp -R 20080624-Firefox-2.0.0.15build2-to-build3 20080624-Firefox-2.0.0.15build2-to-build3-with-partials find 20080624-Firefox-2.0.0.15build2-to-build3/ -iname partial.txt -exec rm {} \; cp -R 20080624-Firefox-2.0.0.15build2-to-build3-beta 20080624-Firefox-2.0.0.15build2-to-build3-beta-with-partials find 20080624-Firefox-2.0.0.15build2-to-build3-beta/ -iname partial.txt -exec rm {} \; cp -R 20080624-Firefox-2.0.0.15build2-to-build3-test 20080624-Firefox-2.0.0.15build2-to-build3-test-with-partials find 20080624-Firefox-2.0.0.15build2-to-build3-test/ -iname partial.txt -exec rm {} \;
Ran backupsnip and pushsnip for test channels:
~/bin/backupsnip 20080624-Firefox-2.0.0.15build2-to-build3-test ~/bin/pushsnip 20080624-Firefox-2.0.0.15build2-to-build3-test
Backupsnip took approx. 40 minutes.
Ran backupsnip on beta && release snippets:
-bash-3.2$ time ~/bin/backupsnip 20080624-Firefox-2.0.0.15build2-to-build3-beta Running /bin/tar cfvj /opt/aus2/snippets/backup/20080624-2-pre-20080624-Firefox-2.0.0.15build2-to-build3-beta.tar.bz2 . real 33m58.907s user 0m21.440s sys 0m28.649s
-bash-3.2$ time ~/bin/backupsnip 20080624-Firefox-2.0.0.15build2-to-build3 Running /bin/tar cfvj /opt/aus2/snippets/backup/20080624-3-pre-20080624-Firefox-2.0.0.15build2-to-build3.tar.bz2 . real 32m36.029s user 0m21.309s sys 0m28.029s
Publish Updates to Test Channels (betatest & releasetest)
- No problems
Update Verify
- No problems
Stage
- No problems
Push Updates to Beta Channels
Two pushes here, one for 2.0.0.14 -> 2.0.0.15build3, one for 2.0.0.15build2 -> 2.0.0.15build3.
~/bin/pushsnip 20080623-Firefox-2.0.0.15-beta ~/bin/pushsnip 20080624-Firefox-2.0.0.15build2-to-build3-beta
Sign Installers
- Done manually using these installer-signing-instructions here
- push signed bits back to same location on stage
- complete stage-merged:
# on stage cd /data/cltbld/firefox-2.0.0.15/ 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-2.0.0.15/stage-merged/ ~/bin/checksum-files .
- Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:firefox . chmod 644 *SUMS # extra verification to make sure no build2 files are still here find . -mtime +2 ./contrib ./contrib-localized # it's okay for those to have old modification dates
Update Bouncer
- Manually added entries to download.mozilla.org
Add release to rsync module
On stage.mozilla.org, add the new release to the smaller, faster, rsync module:
# on stage (as cltbld) cd /pub/mozilla.org/zz/ vi rsyncd-mozilla-current.exclude
and replace the previous latest release (FF2.0.0.14) with:
+ firefox/releases/2.0.0.15 + firefox/releases/2.0.0.15/**
Push to mirrors
- get the last formal "go" from QA/Dev/website/IT/release-drivers
- push the stage-merged directory to the releases area:
# on stage (as cltbld) rsync -av /data/cltbld/firefox-2.0.0.15/stage-merged/ /home/ftp/pub/firefox/releases/2.0.0.15/
Final Verification
- Verify that releasetest points to valid bouncer links:
# this can be run from anywhere cvs co mozilla/testing/release cd mozilla/testing/release/updates cat moz18-firefox-*.cfg | grep -v major | sed 's/betatest/releasetest/' | grep -v 2.0a | grep -v 2.0b > 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
- Before pushing final updates,verify that "release" and "releasetest" channel match:
# on aus2-staging cd /opt/aus2/snippets/staging/20080623-Firefox-2.0.0.15 find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20080623-Firefox-2.0.0.15-test/$a");'
Publish Updates to Release Channel
- In case you need to cancel/abort updates, the quickest way to do this is here
- While waiting for QA to finish testing, do a backup:
# on aus2-staging # put snippets on release/live channel $ cd /opt/aus2/snippets/staging $ sudo su - cltbld $ time ~/bin/backupsnip 20080623-Firefox-2.0.0.15 real 33m19.706s user 0m22.414s sys 0m33.259s
- After QA finished testing the releasetest channel, enabled release channel:
# on aus2-staging # put snippets on release/live channel $ cd /opt/aus2/snippets/staging $ sudo su - cltbld $ time ~/bin/pushsnip 20080623-Firefox-2.0.0.15
- VERIFYFIX: Had to chmod +x ~/bin/pushsnip
Release
Free Software Builds
- Bump the BuildTag definition in the three tinder-config.pl, like this
- Done on production machines:
- production-pacifica-vm (win32)
- bm-xserve05 (macosx)
- production-prometheus-vm (linux)
- Start builds:
cd /builds/tinderbox/Fx-Mozilla1.8-FS ./build-seamonkey.pl --once --depend --config-cvsup-dir `pwd`/tinderbox-configs/ 2>&1 | tee FIREFOX_2_0_0_15build3_FS.log
- Stage
# as cltbld@stage mkdir -p ~/firefox-2.0.0.15-fs/batch1/prestage cd ~/firefox-2.0.0.15-fs/batch1 # rsync from push dirs rsync -av /home/ftp/pub/firefox/nightly/2008-06-26-05-mozilla1.8-fs/ ./prestage/ rsync -av /home/ftp/pub/firefox/nightly/2008-06-26-06-mozilla1.8-fs/ ./prestage/ rsync -av prestage/ prestage-trimmed/ rm -v prestage-trimmed/*.zip rsync -av prestage-trimmed/ stage/ cd stage ~/bin/groom-files --long="2.0.0.15.fs" . chown -R cltbld:firefox * . find . -type f -exec chmod -v 644 {} \; find . -type d -exec chmod -v 755 {} \; cd ../ rsync -av stage/ /home/ftp/pub/firefox/releases/2.0.0.15/contrib/free-software/