Firefox 3.0b4:BuildNotes: Difference between revisions

(this is a fixme)
 
(43 intermediate revisions by 3 users not shown)
Line 156: Line 156:


* fallout from [https://bugzilla.mozilla.org/show_bug.cgi?id=410006 bug 410006] (prettyVersion feature); AUS dir "3 Beta 3" is created, not "3.0b3".
* fallout from [https://bugzilla.mozilla.org/show_bug.cgi?id=410006 bug 410006] (prettyVersion feature); AUS dir "3 Beta 3" is created, not "3.0b3".
** workaround patch in [https://bugzilla.mozilla.org/show_bug.cgi?id=418926 bug 418926], re-gen and re-push AUS config
** workaround [https://bugzilla.mozilla.org/attachment.cgi?id=301534&action=edit patch] in [https://bugzilla.mozilla.org/show_bug.cgi?id=418926 bug 418926], re-gen and re-push AUS config
** FIXME permanent fix in [https://bugzilla.mozilla.org/show_bug.cgi?id=420947 bug 420947]
** FIXME permanent fix in [https://bugzilla.mozilla.org/show_bug.cgi?id=420947 bug 420947]


Line 174: Line 174:
* ensure that new test snippets are the same as old
* ensure that new test snippets are the same as old
** no changes expected
** no changes expected
  diff -r 20080304-Firefox-3.0b4-test 20080304-Firefox-3.0b4-test
  diff -r 20080304-Firefox-3.0b4-test.old 20080304-Firefox-3.0b4-test


* verify beta snippets versus betatest snippets
* verify beta snippets versus betatest snippets
Line 191: Line 191:


* results uploaded to [https://build.mozilla.org/logs/Firefox_3.0b4_RC1/ https://build.mozilla.org/logs/Firefox_3.0b4_RC1/]
* results uploaded to [https://build.mozilla.org/logs/Firefox_3.0b4_RC1/ https://build.mozilla.org/logs/Firefox_3.0b4_RC1/]
** FIXME need to manually remove bump, updateverify config bump only works for rc1 [https://bugzilla.mozilla.org/show_bug.cgi?id=415261 bug 415261]
** VERIFYFIX: need to manually remove bump, updateverify config bump only works for rc1 [https://bugzilla.mozilla.org/show_bug.cgi?id=415261 bug 415261]


====Stage====
====Stage====
* ran out of disk space. Nagios warned us, but filled up remaining space faster then we could make more space.
* ran out of disk space. Nagios warned us, but filled up remaining space faster then we could make more space.
** FIXME: change nagios threshold to be higher, so we have more time to react.
**  FIXME should move updates off, and/or add more disk


====Sign Installers====
====Sign Installers====


Done manually.
* '''NOTE: this was not done: "pull stage:/data/cltbld/firefox-3.0b2/batch1/stage-signed/" '''
* pull stage:/data/cltbld/firefox-3.0b2/batch1/stage-signed/
* Done manually using these installer-signing-instructions [https://intranet.mozilla.org/Build:Unified_Release_Process#Sign_builds here]
using these installer-signing-instructions [https://intranet.mozilla.org/Build:Unified_Release_Process#Sign_builds here]
* push signed bits back to same location on stage
* push signed bits back to same location on stage
* complete stage-merged:
* complete stage-merged:
Line 219: Line 220:


====Final Verification====
====Final Verification====
* manually verified files under /data/cltbld/firefox-3.0b4/stage-merged/ looked ok.  
* manually verified files under /data/cltbld/firefox-3.0b4/stage-merged/  
* verified that filename problems from 3.b2 have been fixed. {{bug|409394}}
** looked ok.  
* VERIFYFIX verified that filename problems from 3.b2 have been fixed. {{bug|409394}}
** verified ok.


====Push to mirrors====
====Push to mirrors====
Line 226: Line 229:
  # on stage
  # on stage
  rsync -av /data/cltbld/firefox-3.0b4/stage-merged/ /home/ftp/pub/firefox/releases/3.0b4/
  rsync -av /data/cltbld/firefox-3.0b4/stage-merged/ /home/ftp/pub/firefox/releases/3.0b4/
* '''rc1 stopped because of {{bug|421528}}
== RC2  ==
Bootstrap tag: RELEASE_AUTOMATION_M7_2
Setup before starting:
* [http://developer.mozilla.org/en/docs/Building_with_Profile-Guided_Optimization Profile Guided Optimisation]
** need at least rev1.383 of tinderbox/build-seamonkey-util.pm when tagging tinderbox
** for the Windows slave
*** bring over the <tt>mk_add_options PROFILE_GEN_SCRIPT...</tt> line from the nightly mozconfig to the release one, and the tweaks to CFLAGS & CXXFLAGS
*** Also pick up the new jemalloc line and removal of WIN32_REDIST_DIR
*** bring over <tt>$ProfiledBuild = 1;</tt> from nightly tinder-config.pl to release one
*** Bump fx-win32-1.9-slave2 up to 2GB of RAM, to match nightly VM
* 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
** restarted 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_M7_2
*** FIXME update should be automatic - [https://bugzilla.mozilla.org/show_bug.cgi?id=397554 bug 397554]
*** cd /builds/tinderbox/mozilla/tools/tinderbox
*** cvs up -r RELEASE_AUTOMATION_M7_2
** remove the contents of /builds/verify/*
*** FIXME should be automatically backed up or removed - [https://bugzilla.mozilla.org/show_bug.cgi?id=413178 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-*
**** FIXME should not be needed - [https://bugzilla.mozilla.org/show_bug.cgi?id=415970 bug 415970]
*** rm -rf /builds/tags/* - did not do this, plenty of space
**** FIXME should not be needed - [https://bugzilla.mozilla.org/show_bug.cgi?id=415970 bug 415970]
*** 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 - [https://bugzilla.mozilla.org/show_bug.cgi?id=415970 bug 415970]
* Win32 Tinderbox was missing PGO support. Tinderbox must be copied on MSYS, symlinks do not work. Copied /e/builds/tinderbox/mozilla/tools/tinderbox/* to:
/e/fx19rel/
/e/fx19l10nrel/
/e/builds/tinderbox/fx19rel/
/e/builds/tinderbox/fx19l10nrel/
* disabled linux/mac builders in master.cfg
* kick off buildbot (run as cltbld):
buildbot sendchange --username=joduinn --master=localhost:9989 -m "Firefox 3.0 Beta 4 RC2" release
Need to update master.cfg and restart/reconfig the Buildbot master for [https://bugzilla.mozilla.org/attachment.cgi?id=307141 a fix]
====Prestage====
* automated, nothing to do
====Tag====
* automated, nothing to do
====Source====
* automated, nothing to do
====Build====
* only rebuilding win32, so symlinked linux/mac on stage:
cd /home/ftp/pub/firefox/nightly/3.0b4-candidates
ln -s `pwd`/rc1/*linux* `pwd`/rc2/
ln -s `pwd`/rc1/*mac* `pwd`/rc2/
# remove win32 ja-JP-mac
rm -v rc2/firefox-3.0b4.ja-JP-mac.win32*
# remove partials
rm -v rc2/*partial*
# on production-1.8-master, sync from stage
rsync -av cltbld@stage.mozilla.org:/home/ftp/pub/firefox/nightly/3.0b4-candidates/ /home/ftp/pub/firefox/nightly/3.0b4-candidates/
* turns out absolute links no longer work, at least unless you use the new root (/pub/mozilla.org) - {{bug|421783}}. Fix it up with
cd /home/ftp/pub/firefox/nightly/3.0b4-candidates/rc2/
find . -type l | xargs rm -v
ln -sv ../rc1/*linux* .
ln -sv ../rc1/*mac* .
====Sign====
[https://intranet.mozilla.org/Build:Signing Signing doc]
====L10nVerify====
====Updates to Test Channel====
* verify beta snippets versus betatest snippets
** only URL (download vs. stage) and appv ("3 Beta 3" vs. "3 Beta 3rc3")
** FIXME automate this in [https://bugzilla.mozilla.org/show_bug.cgi?id=409449 bug 409449]
cd /opt/aus2/snippets/staging/20080308-Firefox-3.0b4/
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/betatest/; system("diff -r -u $_ ../20080308-Firefox-3.0b4-test/$a");' 2>&1 | tee /tmp/beta.log
* verify beta snippets versus releasetest snippets
** FIXME automate this in [https://bugzilla.mozilla.org/show_bug.cgi?id=409449 bug 409449]
cd /opt/aus2/snippets/staging/20080308-Firefox-3.0b4/
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080308-Firefox-3.0b4-test/$a");'
* FIXME: PatcherConfig made beta like betatest not releasetest. Posted patch in [https://bugzilla.mozilla.org/show_bug.cgi?id=418926 bug 418926], recreated/repushed snippets
* ensure that new test snippets are the same as old
** no changes expected
diff -r 20080308-Firefox-3.0b4-test 20080308-Firefox-3.0b4-test
* verify beta snippets versus betatest snippets
** only URL (download vs. stage) and appv ("3 Beta 4" vs. "3 Beta 4rc1")
** FIXME automate this in [https://bugzilla.mozilla.org/show_bug.cgi?id=409449 bug 409449]
cd /opt/aus2/snippets/staging/20080308-Firefox-3.0b4/
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/betatest/; system("diff -r -u $_ ../20080308-Firefox-3.0b4-test/$a");' 2>&1 | tee /tmp/beta.log
* verify beta snippets versus releasetest snippets
** no changes expected
** FIXME automate this in [https://bugzilla.mozilla.org/show_bug.cgi?id=409449 bug 409449]
cd /opt/aus2/snippets/staging/20080308-Firefox-3.0b4/
find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080308-Firefox-3.0b4-test/$a");'
====update Verify====
* win32 FAILed due to:
** binary diffs in .chk files; expected failure
** TODO link bug
** missing el and es-AR locales in 3.0b3
* linux FAILed due to missing el and es-AR locales in 3.0b3
* mac FAILed due to missing el and es-AR locales in 3.0b3
====Stage====
* ran out of disk space; cleared out 3.0b3-candidates, nightly/2008* files and restarted
** FIXME: change nagios threshold to be higher, so we have more time to react.
** FIXME should move updates off, and/or add more disk
====Sign Installers====
* '''NOTE: this was not done: "pull stage:/data/cltbld/firefox-3.0b2/batch1/stage-signed/" '''
* Done manually using these installer-signing-instructions [https://intranet.mozilla.org/Build:Unified_Release_Process#Sign_builds here]
* push signed bits back to same location on stage
* complete stage-merged:
# on stage
cd /data/cltbld/firefox-3.0b4/
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.0b4/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====
* already done for rc1
====Final Verification====
* manually verified files under /data/cltbld/firefox-3.0b4/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.0b4/stage-merged/ /home/ftp/pub/firefox/releases/3.0b4/
* TODO: note that in /data/cltbld, the "firefox-3.0b4" directory should probably be "firefox-3.0b4rc2". This would make it easier to confirm changes between RCs. This is done for some releases not all; should we always do this?


====Updates to Beta Channel====
====Updates to Beta Channel====
 
'''In case you need to cancel/abort updates, the quickest way to do this is [https://intranet.mozilla.org/Build:Farm:Tinderbox_Maintenance#Starting.2FStopping_Tinderbox_on_win32]'''
* on Mac build machines, run quick updateverify test for releastest channel
* on Mac build machines, run quick updateverify test for releastest channel
  cd /builds/verify/firefox-3.0b4/updates
  cd /builds/verify/firefox-3.0b4/updates
Line 239: Line 408:
  grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200
  grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200


* Ensure that releasetest channel contents match beta channel contents
* On aus2-staging, ensure that releasetest channel contents match beta channel contents
  cd /opt/aus2/snippets/staging/20080208-Firefox-3.0b4
  cd /opt/aus2/snippets/staging/20080308-Firefox-3.0b4
  find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080208-Firefox-3.0b4-test/$a");'  
  find -type d -iregex '.*beta.*' | perl -nle '$a = $_; $a =~ s/beta/releasetest/; system("diff -r -u $_ ../20080308-Firefox-3.0b4-test/$a");'  


No difs found - which is correct.
No difs found - which is correct.
Line 247: Line 416:
* Once QA and Website gives formal "go"
* Once QA and Website gives formal "go"
  # put snippets on beta
  # put snippets on beta
# login to aus2-staging
  $ sudo su - cltbld
  $ sudo su - cltbld
  $ cd /opt/aus2/snippets/staging
  $ cd /opt/aus2/snippets/staging
  $ ~/bin/pushsnip 20080208-Firefox-3.0b4
  $ ~/bin/pushsnip 20080308-Firefox-3.0b4


* on Mac build machines, run quick updateverify test for beta channel
* on Mac build machines, run quick updateverify test for beta channel
Line 261: Line 431:
  grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200
  grep 'HTTP' releasetest.log  | grep -v Found | grep -v 200


== RC2 (if req'd) ==
== Wall clock timings ==


Need to update master.cfg and restart/reconfig the Buildbot master for [https://bugzilla.mozilla.org/attachment.cgi?id=307141 a fix]
== Stopping live updates (just in case!) ==
If QA finds a problem with updates *after* we start pushing updates "live", the one-and-only-one way we know to stop updates from further spreading is by killing all updates!


== Wall clock timings ==
See instructions at: https://intranet.mozilla.org/Build:Updates .
Confirmed users
2,679

edits