Firefox 3.0b5: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

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