Firefox 3.0b5:BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

joduinn

Bonsai queries

Last checkins for rc1:

Bugs

Tracking bug for Firefox 3.0beta5 bug 424242

(yes, yes, the answer to the ultimate question!)

Tags

Module Tag Pull date
cvsroot/mozilla GECKO19b5_20080326_RELBRANCH HEAD @ 2008-03-25 22:40 PDT
FIREFOX_3_0b5_RC1 GECKO19b5_20080326_RELBRANCH @ 2008-03-25 22:40 PDT
FIREFOX_3_0b5_RC2 GECKO19b5_20080326_RELBRANCH @ 2008-03-26 17:36 PDT
FIREFOX_3_0b5_RELEASE GECKO19b5_20080326_RELBRANCH @ 2008-03-26 17:36 PDT
l10n/l10n GECKO19b5_20080326_RELBRANCH HEAD @ 2008-03-20 04:00 PDT
FIREFOX_3_0b5_RC1 GECKO19b5_20080326_RELBRANCH @ 2008-03-20 04:00 PDT
FIREFOX_3_0b5_RC2 GECKO19b5_20080326_RELBRANCH @ 2008-03-26 04:45 PDT
FIREFOX_3_0b5_RELEASE GECKO19b5_20080326_RELBRANCH @ 2008-03-26 04:45 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

RC1

Bootstrap tag: RELEASE_AUTOMATION_M8_1

  • Make sure the new patcher config changes are used. patcherToolsRev should be UPDATE_PACKAGING_R3. snippets should have prettyVersion (3 Beta 5) as their appv. Patcher-created directory structure should use unpretty version (3.0b5).

Setup before starting:

  • used existing version bump bug to attached diff for bootstrap.cfg and master.cfg
    • make sure /builds/buildbot/trunk-automation-master/bootstrap.cfg is updated
    • make sure /builds/buildbot/trunk-automation-master/master.cfg is updated, and comment out the schedulers for nightly builds (c['schedulers'].append(nightly_scheduler), c['schedulers'].append(depend_scheduler))
    • restart the master
  • compare nightly and release mozconfig/tinder-config.pl files, merge any desired changes
  • On fx-mac-1.9-slave2, fx-win32-1.9-slave2, fx-linux-1.9-slave2
    • REMEMBER to use VNC when restarting mac slave
    • verify that both mac and linux have "xhost +" since last reboot
    • update tinderbox to RELEASE_AUTOMATION_M8_1
      • FIXME update should be automatic - bug 397554
      • cd /builds/tinderbox/mozilla/tools/tinderbox
      • cvs up -r RELEASE_AUTOMATION_M8_1
      • on win32, then copy to /e/fx19rel/. Then in /e/fx19rel/, copy post-mozilla-rel.pl to post-mozilla.pl
    • remove the contents of /builds/verify/*
      • FIXME should be automatically backed up or removed - bug 413178
    • restart buildbot
  • On production-1.9-master
    • remove the contents of /builds/updates/
    • remove private and public areas
      • rm -rf /data/cltbld/firefox-*
      • rm -rf /builds/tags/* - did not do this, plenty of space
      • in /home/ftp/pub/firefox/nightly/, remove all except the 3.x-candidates directory for the previous release
        • rm -rf /home/ftp/pub/firefox/nightly/2007*
        • FIXME should not be needed - bug 415970
  • kick off buildbot (run as cltbld):
buildbot sendchange --username=joduinn --master=localhost:9989 -m "Firefox 3.0 Beta 5 RC1" release

Prestage

  • nothing to do

Tag

  • nothing to do

Source

  • nothing to do

Build

  • linux, mac produced without any human intervention
  • win32 failed out because of diskspace on win32 slave. Turns out some space being used by 1.9 nightlies caused this, so removing /e/fx19nit did the trick. Restarted win32 builds
  • Abort because of bug 425289. Respin declared.

RC2

Setup before starting: Mostly already done as part of prep for RC1.

  • On production-1.9-master
    • remove the contents of /builds/updates/
    • remove private and public areas
      • rm -rf /data/cltbld/firefox-*
      • rm -rf /builds/tags/* - did not do this, plenty of space
      • in /home/ftp/pub/firefox/nightly/, remove all except the 3.x-candidates directory for the previous release
        • rm -rf /home/ftp/pub/firefox/nightly/2007*
        • FIXME should not be needed - bug 415970
  • kick off buildbot (run as cltbld):
buildbot sendchange --username=joduinn --master=localhost:9989 -m "Firefox 3.0 Beta 5 RC2" release

Prestage

  • automated - nothing to do

Tag

  • nothing to do

Source

  • nothing to do

Build

  • linux, mac and unsigned win32 produced without any human intervention
  • nothing to do

Sign

  • Signing doc
  • Note: clear space on production-1.9-master so that later stage step does not run out of space

L10nVerify

  • Over culled on production-1.9-master, so l10n verify failed to pull some 3.0b4 files (twice). Fixed, then removed 3.0b4 candidates to make space for staging.

Generate Updates

  • Fast update generation is enabled. First time failed out because of bug 425462 but fixed. Fast update mode remains enabled and now trying again.

Publish Updates to Test Channel

  • FIXME: PatcherConfig made beta like betatest not releasetest. Posted patch in bug 424242, recreated/repushed snippets (20080401-Firefox-3.0b5{,-test})
  • ensure that new test snippets are the same as old
    • no changes expected
diff -r 20080327-Firefox-3.0b5-test 20080401-Firefox-3.0b5-test
  • ensure that the new production snippets only change in beta
diff -ru 20080327-Firefox-3.0b5 20080401-Firefox-3.0b5 | less
  • verify beta snippets versus betatest snippets
    • only URL (download vs. stage) and appv ("3 Beta 5" vs. "3 Beta 5rc1")
    • FIXME automate this in bug 409449
cd /opt/aus2/snippets/staging/20080401-Firefox-3.0b5/
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/betatest/; system("diff -r -u $_ ../20080401-Firefox-3.0b5-test/$a");' 2>&1 | tee /tmp/beta.log
  • verify beta snippets versus releasetest snippets
    • no changes expected
    • FIXME automate this in bug 409449
cd /opt/aus2/snippets/staging/20080401-Firefox-3.0b5/
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080401-Firefox-3.0b5-test/$a");'

update Verify

  • mac verify failed on ar, ga-IE and he locales, because they are not shipped. ok to ignore these errors.
  • linux verify failed on ga-IE because it was not shipped. ok to ignore this error.
  • win32 verify failed on
    • ga-IE because it was not shipped. ok to ignore this error
    • bug 404340 A long standing bug about how checksums show up different in updatedinstall-vs-cleaninstall. Not a blocker, we've shipped with this for a while now.

Stage

  • automated - nothing to do.

Sign Installers

  • NOTE: this was not done: "pull stage:/data/cltbld/firefox-3.0b2/batch1/stage-signed/"
  • 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-3.0b5/
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.0b5/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.

Final Verification

  • manually verified files under /data/cltbld/firefox-3.0b5/stage-merged/
    • looked ok.
  • VERIFYFIX verified that filename problems from 3.b2 have been fixed. bug 409394
    • verified ok.

Push to mirrors

  • push the stage-merged directory to the releases area:
# on stage
rsync -av /data/cltbld/firefox-3.0b5/stage-merged/ /home/ftp/pub/firefox/releases/3.0b5/
  • TODO: note that in /data/cltbld, the "firefox-3.0b5" directory should probably be "firefox-3.0b5rc1". This would make it easier to confirm changes between RCs. This is done for some releases not all; should we always do this?

Publish Updates to Beta Channel

In case you need to cancel/abort updates, the quickest way to do this is here

  • on Mac build machines, run quick updateverify test for releastest channel
cd /builds/verify/firefox-3.0b5/updates
cat moz19-firefox-*.cfg > releasetest.cfg
sed -i.bak 's/betatest/releasetest/' releasetest.cfg
./verify.sh -t releasetest.cfg 2>&1 | tee releasetest.log
# upload result to build.m.o/logs

Should be all HTTP/200 OK results e.g.:

grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200
  • On aus2-staging, ensure that releasetest channel contents match beta channel contents (we also checked this earlier)
cd /opt/aus2/snippets/staging/20080401-Firefox-3.0b5
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080401-Firefox-3.0b5-test/$a");' 

No difs found - which is correct.

  • While waiting for formal "go", 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:/cvsrootget -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 20080401-Firefox-3.0b5
  • Once QA and Website gives formal "go" to put updates on 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
 $ ~/bin/pushsnip 20080401-Firefox-3.0b5