Firefox 2.0.0.14:BuildNotes: Difference between revisions

 
(36 intermediate revisions by 3 users not shown)
Line 28: Line 28:
| 2008-04-04 XX:XX PDT
| 2008-04-04 XX:XX PDT
|}
|}
Updated [http://developer.mozilla.org/en/docs/CVS_Tags#Released_Branches CVS Tags devmo page].


==Build data==
==Build data==
Line 104: Line 106:


* [https://intranet.mozilla.org/Build:Signing Signing doc]
* [https://intranet.mozilla.org/Build:Signing Signing doc]
* '''Note: clear space on production-1.8-master so that later stage step does not run out of space'''
* '''Note: clear space on production-1.8-master so that later stage step does not run out of space''' - wasn't required, had nearly 8GB free after Stage (started with 28GB free on /data)
* slave on production-1.8-master had dropped, killing the first sign step as it waited for the signing log
* slave on production-1.8-master had dropped, killing the first sign step as it waited for the signing log
* Some partitions on the master had gone read-only ({{bug|407796}}) and a simple reboot left the buildbot master unable to start. Ran fsck on each partition and that resolved it. Editing master.cfg to start doing work at stage
* Some partitions on the master had gone read-only ({{bug|407796}}) and a simple reboot left the buildbot master unable to start. Ran fsck on each partition and that resolved it. Editing master.cfg to start doing work at stage
Line 116: Line 118:


====Publish Updates to Test Channels (betatest & releasetest)====
====Publish Updates to Test Channels (betatest & releasetest)====
* backupsnip took longer than the default timeout of 1 hour for a Shell() call, and got killed. Reached into the slave to add a 7200 second timeout to the call, modified master.cfg to make Push the first (uncommented) step of the updateFactory, reconfig'd the master and sent a change
* worked fine, 37 minutes to backup
* Snippet dirs have prefix 20080407-Firefox-2.0.0.14


====update Verify====
====Update Verify====
* automated - no problems
* logs check out fine


====Stage====
====Stage====
* automated - no problems
====Push Updates to Beta Channels====
While waiting for QA to give "ok", on aus2-staging do:
  # put snippets on beta
  $ sudo su - cltbld
  # make sure using latest version of scripts in mozilla/tools/release/bin/
  $ cd bin
  $ cvs update .
  $ cd /opt/aus2/snippets/staging
  # note the required parameter must match what will be used with pushsnip below.
  $ time ~/bin/backupsnip 20080407-Firefox-2.0.0.14-beta
  real    39m51.184s
  user    0m23.217s
  sys    0m33.234s


====Updates to Beta Channels====
After QA gives "ok" to push to beta channel, on aus2-staging do:
  # put snippets on beta
  $ sudo su - cltbld
  # make sure using latest version of scripts in mozilla/tools/release/bin/
  $ cd bin
  $ cvs update mozilla/tools/release/bin/
  $ cd /opt/aus2/snippets/staging
  $ time ~/bin/pushsnip 20080407-Firefox-2.0.0.14-beta
  real    2m41.935s
  user    0m0.107s
  sys    0m9.752s


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


* 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-2.0.0.14/
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-2.0.0.14/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====
* Manually added entries to download.mozilla.org


====Update Bouncer====
==== Push to mirrors ====
* get the last formal "go" from QA/Dev/website/IT/release-drivers
* push the stage-merged directory to the releases area:
# on stage (as cltbld)
rsync -av /data/cltbld/firefox-2.0.0.14/stage-merged/ /home/ftp/pub/firefox/releases/2.0.0.14/


====Final Verification====
====Final Verification====
==== Push to mirrors ====
* Verify that releasetest points to valid bouncer links:
# this can be run from anywhere
cvs co mozilla/testing/release
cd mozilla/testing/release/updates
cat moz18-firefox-*.cfg | grep -v major | sed 's/betatest/releasetest/' | grep -v 2.0a | grep -v 2.0b > 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
 
* Before pushing final updates,verify that "release" and "releasetest" channel match:
# on aus2-staging
cd /opt/aus2/snippets/staging/20080407-Firefox-2.0.0.14
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20080407-Firefox-2.0.0.14-test/$a");'


==== Publish Updates to Release Channel ====
==== Publish Updates to Release Channel ====
* '''In case you need to cancel/abort updates, the quickest way to do this is [https://intranet.mozilla.org/Build:Updates here]'''
* After QA finished testing the releasetest channel, enabled release channel:
  # on aus2-staging
  # put snippets on release/live channel
  $ cd /opt/aus2/snippets/staging
  $ sudo su - cltbld
  $ ~/bin/pushsnip 20080407-Firefox-2.0.0.14
* ''VERIFYFIX: Had to chmod +x ~/bin/pushsnip
====Release====
* Move forward the "latest" and "latest-2.0" symlinks:
  cd /home/ftp/pub/firefox/releases/
  rm latest
  ln -s 2.0.0.14 latest
  rm latest-2.0
  ln -s 2.0.0.14 latest-2.0
* Update stage:/etc/rsyncd-mozilla-current.exclude


====Free Software Builds====
====Free Software Builds====
* Bump the BuildTag definition in the three tinder-config.pl, [http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=MOZILLA_1_8_BRANCH_release_free_software&branchtype=regexp&dir=mozilla%2Ftools%2Ftinderbox-configs%2F&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=day&mindate=2008-02-07+08%3A00&maxdate=2008-02-07+08%3A45&cvsroot=%2Fcvsroot like this]
* Done on production machines:
** production-pacifica-vm (win32)
** bm-xserve05 (macosx)
** production-prometheus-vm (linux)
* Start builds:
cd /builds/tinderbox/Fx-Mozilla1.8-FS
./build-seamonkey.pl --once --depend --config-cvsup-dir `pwd`/tinderbox-configs/ 2>&1 | tee FIREFOX_2_0_0_14_FS.log
* Stage
# as cltbld@stage
mkdir -p ~/firefox-2.0.0.14-fs/batch1/prestage
cd ~/firefox-2.0.0.14-fs/batch1
# rsync from push dirs
rsync -av /home/ftp/pub/firefox/nightly/2008-04-16-04-mozilla1.8-fs/ ./prestage/
rsync -av /home/ftp/pub/firefox/nightly/2008-04-15-14-mozilla1.8-fs/ ./prestage/
rsync -av prestage/ prestage-trimmed/
rm -v prestage-trimmed/*.zip
rsync -av prestage-trimmed/ stage/
cd stage
~/bin/groom-files --long="2.0.0.14.fs" .
chown -R cltbld:firefox * .
find . -type f -exec chmod -v 644 {} \;
find . -type d -exec chmod -v 755 {} \;
cd ../
rsync -av stage/ /home/ftp/pub/firefox/releases/2.0.0.14/contrib/free-software/
canmove, Confirmed users
6,441

edits