Releases/Firefox 2.0.0.20 MU 2/BuildNotes: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 83: Line 83:
  cd tools/release/common
  cd tools/release/common
  # on mac & linux
  # on mac & linux
  curl -sL https://bugzilla.mozilla.org/attachment.cgi?id=367544 | patch -p0
  curl -sL https://bugzilla.mozilla.org/attachment.cgi?id=367544 | patch -p3
  # on win32
  # on win32
  wget --no-check-certificate -L -O patch https://bugzilla.mozilla.org/attachment.cgi?id=367544
  wget --no-check-certificate -L -O patch https://bugzilla.mozilla.org/attachment.cgi?id=367544
  patch -p0 < patch
  patch -p3 < patch
   
   
  # everyone ...
  # everyone ...

Revision as of 07:21, 15 April 2009

Release Engineers

Nick Thomas

Bugs

bug 487521 - tracking bug
bug ??? - nulls for partners

DONE TO HERE

Generate Major Update Snippets

These are for the "vanilla" builds we're going to update.

Update these config files

  • CVS:mozilla/tools/patcher-configs/moz18-branch-major-update-patcher2.cfg
  • HG: build/tools/release/updates/moz18-firefox-{linux,mac,win32}-major.cfg

with review as usual.

Then generate the snippets

# ssh cltbld@production-prometheus-vm.build.mozilla.org
mkdir -p /builds/2.0.0.20-3.0.9-major-update/snippets
cd /builds/2.0.0.20-3.0.9-major-update/snippets
cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R7 -d patcher mozilla/tools/patcher
cd patcher
cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R7 -d MozBuild mozilla/tools/release/MozBuild
cd ../
cvs -d:ext:cltbld@cvs.mozilla.org:/cvsroot co -d patcher-configs mozilla/tools/patcher-configs

cd patcher
export CVSROOT=:ext:cltbld@cvs.mozilla.org:/cvsroot

# build tools
./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R7 --config=../patcher-configs/moz18-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_build-tools.log

# download mars
./patcher2.pl --download --app=firefox --config=../patcher-configs/moz18-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.0.9 2.0.0.20-3.0.9
cd ../..

# Create partial patches and snippets
./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz18-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log

Separate out beta snippets

cd temp/firefox/2.0.0.20-3.0.9
rsync -a aus2/ aus2.beta/
find aus2.beta/ -type d -name "release" -exec rm -rfv {} \;
find aus2/ -type d -name "beta" -exec rm -rfv {} \; 

Quick verify

This has changed a bit from last time because we haven't shipped 3.0.9 yet. Therefore we have to do QA using betatest pointing at the candidates dir, then 3.0.9 ships and we later go to beta (using bouncer), and later still enable the release channel (bouncer again). So we want releasetest == beta == release and accept that betatest is different.

# releasetest == beta
find aus2.test -type d -iregex '.*releasetest.*' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/aus2\.test/aus2.beta/; system("diff -r -u $_ $a");'
find aus2.beta -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/aus2\.beta/aus2.test/; system("diff -r -u $_ $a");'

# releasetest == release
find aus2.test -type d -iregex '.*releasetest.*' | perl -nle '$a = $_; $a =~ s/releasetest/release/; $a =~ s/aus2\.test/aus2/; system("diff -r -u $_ $a");'
find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/releasetest/; $a =~ s/aus2/aus2.test/; system("diff -r -u $_ $a");'

No differences found.

Push to AUS

cd /builds/2.0.0.20-3.0.9-major-update/snippets/patcher/temp/firefox/2.0.0.20-3.0.9
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090414-Firefox-2.0.0.20-3.0.9-MU
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090414-Firefox-2.0.0.20-3.0.9-MU-beta
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090414-Firefox-2.0.0.20-3.0.9-MU-test

Enable test snippets

Safe to do this without doing null snippets because we're only talking about betatest and releasetest, where no end-users of partner builds will be falling back to (metrics website confirms).

~/bin/backupsnip 20090414-Firefox-2.0.0.20-3.0.9-MU-test
~/bin/pushsnip 20090414-Firefox-2.0.0.20-3.0.9-MU-test

Update verify

Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:

mkdir -p /builds/verify/firefox-20020-309-major/
cd /builds/verify/firefox-20020-309-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 -L -O patch https://bugzilla.mozilla.org/attachment.cgi?id=367544
patch -p3 < patch

# everyone ...
platform=linux   # or mac or win32
cd ../updates
./verify.sh -c moz18-firefox-$platform-major.cfg 2>&1 | tee $platform.log

XXX RESULTS GO HERE

Enable beta snippets

Generate Null Partner Snippets

Create snippets

Push live

Verify nulls

Enable release snippets

For the vanilla builds.