Releases/Firefox 2.0.0.15:BuildNotes

Build Engineers

bhearsum + alice
Version/config bump bug

Bonsai queries

Build 1: http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=MOZILLA_1_8_BRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-06-10+12%3A49+PDT&maxdate=2008-06-10+12%3A50+PDT&cvsroot=%2Fcvsroot

Build 2: http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=GECKO181_20080612_RELBRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-06-12+12%3A35+PDT&maxdate=2008-06-12+12%3A38+PDT&cvsroot=%2Fcvsroot

Build 3: http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=GECKO181_20080612_RELBRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2008-06-12+12%3A36+PDT&maxdate=2008-06-23+12%3A38+PDT&cvsroot=%2Fcvsroot

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 FIREFOX_2_0_0_15_RELEASE N/A
l10n/l10n GECKO181_20080612_RELBRANCH FIREFOX_2_0_0_15_BUILD2 FIREFOX_2_0_0_15_RELEASE 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] production-pacifica-vm
[Mac compressed] bm-xserve05
[Linux compressed] 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"
    • Updated /builds/tinderbox/mozilla/tools/tinderbox to automation tag on all slaves
    • 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

Update Bouncer

Push to mirrors

Final Verification

Publish Updates to Release Channel

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_15_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-13-11-mozilla1.8-fs/ ./prestage/
rsync -av /home/ftp/pub/firefox/nightly/2008-06-13-12-mozilla1.8-fs/ ./prestage/
rsync -av /home/ftp/pub/firefox/nightly/2008-06-16-05-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.14.fs" .
chown -R cltbld:firefox * .
find . -type f -exec chmod -v 644 {} \;
find . -type d -exec chmod -v 755 {} \;
cd ../

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

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
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.14/
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.14/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

Push to mirrors

Final Verification

Publish Updates to Release Channel

Release

Free Software Builds

  • 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