Releases/Firefox 3.0.13/BuildNotes: Difference between revisions

 
(24 intermediate revisions by 3 users not shown)
Line 5: Line 5:
==Build Engineers==
==Build Engineers==


nthomas <br />
nthomas, bhearsum <br />
[https://bugzilla.mozilla.org/show_bug.cgi?id=506708 Tracking release bug]
[https://bugzilla.mozilla.org/show_bug.cgi?id=506708 Tracking release bug]


==Bonsai queries==
==Bonsai queries==


*  cvsroot
[http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=PhoenixTinderbox&branch=GECKO190_20090706_RELBRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2009-07-30+19%3A18+PDT&maxdate=2009-07-06+09%3A14+PDT&cvsroot=%2Fcvsroot cvsroot]


*  l10n
[http://bonsai-l10n.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=GECKO190_20090706_RELBRANCH&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2009-07-06+09%3A14&maxdate=2009-07-30+19%3A18&cvsroot=%2Fl10n l10n]


==Tags==
==Tags==
Line 23: Line 23:
|-
|-
| cvsroot/mozilla
| cvsroot/mozilla
| HEAD
| GECKO190_20090706_RELBRANCH
|  
| FIREFOX_3_0_13_BUILD1 FIREFOX_3_0_13_RELEASE
|
| 2009-07-30 19:18 PDT
|-
|-
| l10n/l10n
| l10n/l10n
| HEAD
| GECKO190_20090706_RELBRANCH
|  
| FIREFOX_3_0_13_BUILD1 FIREFOX_3_0_13_RELEASE
|
| 2009-07-30 19:18 PDT
|}
|}


Line 93: Line 93:


====Stage====
====Stage====
No problems


====Partner Repacks====
====Partner Repacks====
'''no longer need to do these since we've shipped 3.5'''
'''no longer need to do these since we've shipped 3.5''' {{bug|507961}} to disable them


==== XULRunner ====
==== XULRunner ====
automated, no problems
automated, no problems
==== Push updates to beta channel ====
'''NOT DONE YET'''
  # cltbld@aus2-staging.m.o
  # make sure scripts are up to date
  cd bin
  cvs update
  cd /opt/aus2/snippets/staging/
  ~/bin/backupsnip 20090731-Firefox-3.0.13-beta
  ~/bin/pushsnip 20090731-Firefox-3.0.13-beta
Make sure that [https://bugzilla.mozilla.org/attachment.cgi?id=391871 this AUS throttling update] gets landed after beta snippets are pushed, otherwise 3.0.12 beta users will not be passively updated.


==== Sign Installers ====
==== Sign Installers ====
Line 135: Line 123:
==== Update Bouncer ====
==== Update Bouncer ====
done
done
==== 3.0.13 -> 3.5.x Major Update Refresh ====
be sure to land [https://bugzilla.mozilla.org/attachment.cgi?id=391870 this AUS patch]
===== Snippet Generation =====
# ssh cltbld@prometheus-vm.build.mozilla.org
mkdir -p /builds/3.0.13-3.5.2-major-update/snippets
cd /builds/3.0.13-3.5.2-major-update/snippets
cvs -d:ext:ffxbld@cvs.mozilla.org:/cvsroot co -d patcher-configs mozilla/tools/patcher-configs
cvs -d:ext:ffxbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d patcher mozilla/tools/patcher
cd patcher
cvs -d:ext:ffxbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R9 -d MozBuild mozilla/tools/release/MozBuild
export CVSROOT=:ext:ffxbld@cvs.mozilla.org:/cvsroot
# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R9 --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_build-tools.log
# download mars
./patcher2.pl --download --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_download.log
# FIXME - patcher needs to see that the MARs that it thinks are partials
#            are there or else it will not attempt to generate patchinfo
cd temp/firefox
ln -s 3.5.2 3.0.13-3.5.2
cd ../..
# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz19-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log
===== Quick verify =====
Check that releasetest = beta = release.
cd temp/firefox/3.0.13-3.5.2
# releasetest == beta
find aus2.test -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/aus2\.test/aus2/; system("diff -r -u $_ $a");'
find aus2 -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/aus2/aus2.test/; system("diff -r -u $_ $a");'
# beta == release
find aus2 -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta/release/; system("diff -r -u $_ $a");'
find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; system("diff -r -u $_ $a");'
===== Push to AUS =====
cd /builds/3.0.13-3.5.2-major-update/snippets/patcher/temp/firefox/3.0.13-3.5.2
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090731-Firefox-3.0.13-3.5.2-MU-test
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090731-Firefox-3.0.13-3.5.2-MU
===== Enable test snippets =====
Backupsnip was run for 20090731-Firefox-3.0.13, so I didn't run it again.
# cltbld@aus-staging
~/bin/pushsnip 20090731-Firefox-3.0.13-3.5.2-MU-test
===== Update verify =====
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-3013-352-major/
cd /builds/verify/firefox-3013-352-major/
hg clone http://hg.mozilla.org/build/tools
# get patch to trawl "Only in" directories
cd tools/release/common
# on mac & linux
curl -sL https://bugzilla.mozilla.org/attachment.cgi?id=367544 | patch -p3
# on win32
wget --no-check-certificate -O patch https://bugzilla.mozilla.org/attachment.cgi?id=367544
patch -p3 < patch
# everyone ...
cd ../updates
platform=linux  # or mac or win32
./verify.sh -c moz19-firefox-$platform-major.cfg 2>&1 | tee $platform.log
'''results''' everything the same as 3.0.12 -> 3.5.1 MU. aka, everything is OK
==== Push updates to beta channel ====
  # cltbld@aus2-staging.m.o
  # make sure scripts are up to date
  cd bin
  cvs update
  cd /opt/aus2/snippets/staging/
  ~/bin/backupsnip 20090731-Firefox-3.0.13-beta
  ~/bin/pushsnip 20090731-Firefox-3.0.13-beta
Make sure that [https://bugzilla.mozilla.org/attachment.cgi?id=391871 this AUS throttling update] gets landed after beta snippets are pushed, otherwise 3.0.12 beta users will not be passively updated.
==== Disable 3.0.12 -> 3.5.1 MU ====
Drivers requested in {{bug|507967}} that we disable the current MU, so that people don't end up going 3.0.12 -> 3.5.1 -> 3.5.2 if they hear that a new firefox release is coming.
# cltbld@aus2-staging
cd /opt/aus2/snippets/staging/
rsync -a 20090721-Firefox-3.0.12-3.5.1-MU/ 20090802-Firefox-3.0.12-3.5.1-MU-null/
cd 20090802-Firefox-3.0.12-3.5.1-MU-null/
find . -depth -type d -iregex '.*/beta$' -exec rm -rf {} \;
for f in `find . -type f`; do rm $f; touch $f; done
Checked that there 370 empty snippets, to match 370 useful ones in the source dir, release channel only.
~/bin/backupsnip 20090802-Firefox-3.0.12-3.5.1-MU-null
~/bin/pushsnip  20090802-Firefox-3.0.12-3.5.1-MU-null


==== Push to mirrors ====
==== Push to mirrors ====
'''NOT DONE YET'''
Make sure that you use ffxbld for 'push to mirrors'  , rather than cltbld (this is a change, but a desired one).
Make sure that you use ffxbld for 'push to mirrors'  , rather than cltbld (this is a change, but a desired one).
* push the stage-merged directory to the releases area:
* push the stage-merged directory to the releases area:
Line 145: Line 227:


==== Final Verification ====
==== Final Verification ====
'''NOT DONE YET'''
  hg clone http://hg.mozilla.org/build/tools
  hg clone http://hg.mozilla.org/build/tools
  cd tools/release/updates
  cd tools/release/updates
Line 153: Line 234:
* Look for any HTTP error codes besides 200 ("OK") and 302 ("Found"):
* Look for any HTTP error codes besides 200 ("OK") and 302 ("Found"):
  grep HTTP quickVerify.log | grep -v 200 | grep -v 302
  grep HTTP quickVerify.log | grep -v 200 | grep -v 302
** A few 404 errors for http://mozilla2.snt.utwente.nl so checked again when verify was done and the directory at http://mozilla2.snt.utwente.nl/firefox/releases/3.0.12/win32/zh-TW/ was populated
** A couple of 404 errors, eg for http://mozilla2.snt.utwente.nl so checked again when verify was done and the directory at http://mozilla2.snt.utwente.nl/firefox/releases/3.0.12/win32/zh-TW/ was populated
 


* Before pushing final updates, verify that "release" and "releasetest" channel match:
* Before pushing final updates, verify that "release" and "releasetest" channel match:
  # on aus2-staging
  # on aus2-staging
  $ cd /opt/aus2/snippets/staging/20090731-Firefox-3.0.13
  cd /opt/aus2/snippets/staging/20090731-Firefox-3.0.13
  $ find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20090731-Firefox-3.0.13-test/$a");'
  find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20090731-Firefox-3.0.13-test/$a");'
$


==== 3.0.13 -> 3.5.x Major Update Refresh ====
==== Publish Updates to Release Channel ====
===== Snippet Generation =====
===== Quick verify =====
===== Push to AUS =====
===== Enable test snippets =====
===== Update verify =====


==== Publish Updates to Release Channel ====
'''NOT DONE YET'''
updated AUS' config-dist.php and pushed because of the new MU at this time.
updated AUS' config-dist.php and pushed because of the new MU at this time.
  # cltbld@aus2-staging
  # cltbld@aus2-staging
  cd /opt/aus2/snippets/staging
  cd /opt/aus2/snippets/staging
  ~/bin/backupsnip 20090731-Firefox-3.0.13
  ######
  ~/bin/pushsnip 20090731-Firefox-3.0.13
# skipped backupsnip, as it was done for FF3.5.2 this morning
# ~/bin/backupsnip 20090731-Firefox-3.0.13
  ######
time ~/bin/pushsnip 20090731-Firefox-3.0.13
real    2m21.174s
user    0m0.427s
sys    0m16.176s
time ~/bin/pushsnip 20090731-Firefox-3.0.13-3.5.2-MU
real    0m20.744s
user    0m0.069s
sys    0m2.347s


Make sure that [https://bugzilla.mozilla.org/attachment.cgi?id=391872 this AUS throttle update] gets landed, tagged, and pushed (instructions are in the bug).
Made sure that [https://bugzilla.mozilla.org/attachment.cgi?id=391872 this AUS throttle update] got landed, tagged, and pushed (instructions are in the bug).


==== Release ====
==== Release ====
'''NOT DONE YET'''
 
  # ffxbld@stage
  # ffxbld@stage
  cd /home/ftp/pub/firefox/releases
  cd /home/ftp/pub/firefox/releases
Line 186: Line 268:


==== Release matching XULRunner build ====
==== Release matching XULRunner build ====
'''NOT DONE YET'''
 
XULRunner builds are produced by the automation, this is to groom them and push to the mirrors.
XULRunner builds are produced by the automation, this is to groom them and push to the mirrors.


Line 200: Line 282:
  rsync -av --include=*sdk* --exclude=* \
  rsync -av --include=*sdk* --exclude=* \
   /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ sdk/
   /home/ftp/pub/xulrunner/nightly/${VERSION}-candidates/build${BUILD}/ sdk/
  cp /home/ftp/pub/firefox/releases/${FX_VERSION}/source/firefox-${FX_VERSION}-source.tar.bz2 \
  cp -pv ~/firefox-${FX_VERSION}/stage-merged/source/firefox-${FX_VERSION}-source.tar.bz2 \
   source/xulrunner-${VERSION}-source.tar.bz2
   source/xulrunner-${VERSION}-source.tar.bz2
  cd ~/xulrunner-${VERSION}/batch1
  cd ~/xulrunner-${VERSION}/batch1
  rsync -av stage-unsigned/ stage-signed/
  rsync -av stage-unsigned/ stage-signed/


Then create detached signatures per [https://intranet.mozilla.org/Build:Unified_Release_Process#Sign_builds usual process] (with PRODUCT=xulrunner, VERSION=1.9.0.13, don't need BUILD or TAG), skip the win32 signing section, do pgp, verify and upload. Back on stage:
Then create detached signatures per [https://intranet.mozilla.org/Build:Signing#Installer.2Farchive_signing_before_release usual process] (with PRODUCT=xulrunner, VERSION=1.9.0.13, don't need BUILD or TAG), skip the win32 signing section, do pgp, verify and upload. Back on stage:


  cd ~/xulrunner-${VERSION}/batch1/stage-signed
  cd ~/xulrunner-${VERSION}/batch1/stage-signed
  cp /home/ftp/pub/firefox/releases/${FX_VERSION}/KEY .
  cp ~/firefox-${FX_VERSION}/stage-merged/KEY .
  ~/bin/checksum-files .
  ~/bin/checksum-files .
  chown -R cltbld:xulrunner .
  chown -R cltbld:xulrunner .
Confirmed users
4,293

edits