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 <thead> </thead> <tbody> </tbody>
style="background:#efefef" Pull date
rowspan="4" 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
-
rowspan="4" 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 <thead> </thead> <tbody> </tbody>
style="background:#efefef" 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:
    1. 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
    1. 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
    1. 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