Releases/Firefox 3.0.8/BuildNotes

From MozillaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Build Engineers

bhearsum,nthomas
Tracking release bug

Bonsai queries

Tags

Build 1:

Module Branch Tag Pull date
cvsroot/mozilla HEAD FIREFOX_3_0_8_BUILD1
l10n/l10n HEAD FIREFOX_3_0_8_BUILD1

Build data

Type Build ID SHA1 Push date Build machine
[Windows installer/zip] fx-win32-1.9-slave2
[Mac compressed] fx-mac-1.9-slave2
[Linux compressed] fx-linux-1.9-slave2

Notes

Build 1

Setup before starting:

  • On linux slave (fx-linux-1.9-slave2):
    • Deleted /builds/verify/firefox-3.0.7
    • Deleted /builds/updates/*
    • Deleted /builds/source/*
    • Deleted /builds/data/cltbld/firefox-3.0.7
    • Deleted /builds/tags/*
  • On mac slave (fx-mac-1.9-slave2):
    • Deleted /builds/tinderbox/Xr-Mozilla1.9-Release/Darwin_8.8.4_Depend
    • Deleted /builds/verify/firefox-3.0.7
  • On windows slave (fx-win32-1.9-slave2):
    • Deleted /e/xr19rel/WINNT_5.2_Depend
  • Space on slaves before starting:
    • fx-mac-1.9-slave2: 19GB on /
    • fx-linux-1.9-slave2: 19GB on /
    • fx-win32-1.9-slave2: 1.5GB on E, 16GB on D (E gets cleaned up at the start of the en-US and l10n builds, so this should be OK).
  • Kicked off automation:
buildbot sendchange --username=bhearsum --master=localhost:9989 -m"Firefox 3.0.8build1 release" go

Tag

Died out because the relbranch wasn't bumped to 3.0.8pre. Checked in version bumps to milestone.txt, version.txt, and module.ver, relbranch, deleted /builds/tags/FIREFOX_3_0_8_RELEASE, restarted.
Had to stop it because I forgot to bump the second version number in module.ver. Had to untag some files and commit s/3.0.8/3.0.8pre/ in the version files before starting again.
Died again because client.mk wasn't commited. Had to do roll back the relbranch version to 3.0.8pre, and modify MOZ_CO_TAG in client.mk to make it work.

Did rdiff from FIREFOX_3_0_7_RELEASE to FIREFOX_3_0_8_RELEASE and got the expected version bumps (4 files), code changes (2 files). There was also a bunch of added tests, Camino changes, and missing mozilla/themes. Build logs indicate that the lattermost is not used.

Source

Automated, no problems.

Build & Repack

Automated, no problems.

Respin declared

Build 2

  • Deleted /builds/source/*, /builds/tags/FIREFOX_3_0_8_BUILD1 on fx-linux-1.9-slave2
  • Kicked off automation:
buildbot sendchange --username=bhearsum --master=localhost:9989 -m"Firefox 3.0.8build2 release" go

Tag

No problems

Source

No problems

Build & Repack

No problems

Sign

  • Signing doc
  • Signed en-US first to help speed up QA process
  • Signed locales after they were done, using {un,}signed-build2-resign/ dirs. Pushed up both signing logs, checked en-US wasn't uploaded etc.

L10nVerify

No problems.

Generate Updates

No problems

Publish Updates to Test Channels (betatest & releasetest)

No problems

Update Verify

Linux failed because pushing the verify config back up to hg.m.o would have created a new head - this is race against the other platforms. Removed fx-linux-1.9-slave2:/builds/verify/firefox-3.0.8/* and forced a new run.

Linux and mac were green. Windows red with the normal binary file differences (partial: freebl3.chk, softokn3.chk; complete: partial + added .autoreg and removed-files). Passed

Stage

Extra signing log caused a problem

Step Stage died: ASSERT: IsValidLocaleDeliverable(): Unknown file type in tree: /data/cltbld/firefox-3.0.8/batch1/stage-unsigned/win32_signing_build2-resign.log at Bootstrap/Step/Stage.pm line 660.

Appended that to win32_signing_build2.log and removed it. Removed fx-linux-1.9-slave2:/data/cltbld/firefox-3.0.8. Also only 9.7GB free before restarting, so removed some old tagging dirs from Firefox 3.0 & 3.0.2, and the xulrunner build of 3.0.7. Then reran.

Sign Installers

Done manually using these installer-signing-instructions here.

  • complete stage-merged:
# on stage
cd /data/cltbld/firefox-3.0.8/
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.8/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.
  • Note for next release: Do not remove the Check Now bit on the Firefox-3.0.7 Products until well after the change to the rsync module (to prevent the likes of bug 464566)

Push to mirrors

  • push the stage-merged directory to the releases area:
# on stage
rsync -av /data/cltbld/firefox-3.0.8/stage-merged/ /home/ftp/pub/firefox/releases/3.0.8/
  • edit the exclude file /pub/mozilla.org/zz/rsyncd-mozilla-current.exclude to add the new release (3.0.8) and remove the previous release (3.0.7).

Push updates to beta channel

# cltbld@aus2-staging
cd /opt/aus2/snippets/staging
time ~/bin/backupsnip 20090327-Firefox-3.0.8
real	40m34.586s
user	0m37.708s
sys	0m46.487s
time ~/bin/pushsnip 20090327-Firefox-3.0.8-beta
real	1m19.170s
user	0m0.196s
sys	0m6.042s


Final Verification

  • Verify that releasetest points to valid bounce links:
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 few errors due to partially synced mirrors. By the time I went around to look at them they'd all recovered.
  • Before pushing final updates, verify that "release" and "releasetest" channel match:
# on aus2-staging
$ cd /opt/aus2/snippets/staging/20090327-Firefox-3.0.8
$ find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20090327-Firefox-3.0.8-test/$a");'
$

Publish Updates to Release Channel

Didn't run backupsnip because we pushed release and beta snippets only a few hours apart.

# cltbld@aus2-staging
cd /opt/aus2/snippets/staging
~/bin/pushsnip 20090327-Firefox-3.0.8

Release

# cltbld@stage
cd /home/ftp/pub/firefox/releases
rm latest-3.0 && ln -s 3.0.8 latest-3.0