Releases/Firefox 3.6 MU Tests/BuildNotes
Release Engineers
Nick Thomas (nthomas)
Bugs
bug 515421 - tracking bug for 3.5.x to 3.6.y
bug 515417 - tracking bug for 3.0.z to 3.6.y
3.5.x to 3.6.y
Based on notes for 3.0.15 -> 3.5.5 MU (rather than 2.0.0.20 one), with more "improvements".
3.5.5 to 3.6b2
Create these config files
- CVS: mozilla/tools/patcher-configs/moz191-branch-major-update-patcher2.cfg
- HG: build/tools/release/updates/moz191-firefox-{linux,mac,win32}-major.cfg
with review as usual.
Snippet Generation
On fx-linux-1.9-slave2:
mkdir -p /builds/3.6b2-major-update-tests cd /builds/3.6b2-major-update-tests/ export CVSROOT=:ext:cltbld@cvs.mozilla.org:/cvsroot cvs co -d patcher-configs mozilla/tools/patcher-configs cvs co -r UPDATE_PACKAGING_R10 -d patcher mozilla/tools/patcher cd patcher cvs co -r UPDATE_PACKAGING_R10 -d MozBuild mozilla/tools/release/MozBuild # build tools ./patcher2.pl --build-tools --app=firefox --tools-rev=UPDATE_PACKAGING_R10 --config=../patcher-configs/moz191-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox_build-tools.log # download mars ./patcher2.pl --download --app=firefox --config=../patcher-configs/moz191-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 mkdir 3.5.5-3.6b2 ln -s ../3.6b2/ftp 3.5.5-3.6b2/ftp # Also delete 3.5.5 mars that are only using up space rm -rf 3.5.5 cd ../.. # Create partial patches and snippets ./patcher2.pl --create-patches --app=firefox --config=../patcher-configs/moz191-branch-major-update-patcher2.cfg 2>&1 | tee ../firefox-create-patches.log
Quick Verify
Not really required when we're only going to push the test channels
Check that releasetest = beta = release. We know betatest should be different and point to ftp.m.o rather than the mirrors.
cd temp/firefox/3.5.5-3.6b2 # 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");'
# beta == release find aus2.beta -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/aus2\.beta/aus2/; $a =~ s/beta/release/; system("diff -r -u $_ $a");' find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; $a =~ s/aus2/aus2.beta/; system("diff -r -u $_ $a");'
Push to AUS
Only pushing test snippets over here (for production also copy aus2.beta and aus2)
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091112-Firefox-3.5.5-3.6b2-MU-test
Enable test snippets
Leveraging an earlier backupsnip
# cltbld@aus2-staging ~/bin/pushsnip 20091112-Firefox-3.5.5-3.6b2-MU-test
Update verify
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-355-36b2-major/ cd /builds/verify/firefox-355-36b2-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 moz191-firefox-$platform-major.cfg 2>&1 | tee $platform.log
Results here
3.0.z to 3.6.y
3.0.15 to 3.6b2
Patch these config files
- CVS: mozilla/tools/patcher-configs/moz191-branch-major-update-patcher2.cfg
- HG: build/tools/release/updates/moz191-firefox-{linux,mac,win32}-major.cfg
Snippet Generation
Reuse the setup we have from 3.5.5 to 3.6b2.
On fx-linux-1.9-slave2:
cd /builds/3.6b2-major-update-tests/patcher # FIXME - patcher needs to see that the MARs that it thinks are partials # are there or else it will not attempt to generate patchinfo # Also delete 3.5.5 mars that are only using up space cd temp/firefox mkdir 3.0.15-3.6b2 ln -s ../3.6b2/ftp 3.0.15-3.6b2/ftp 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
Not really required when we're only going to push the test channels
Check that releasetest = beta = release. We know betatest should be different and point to ftp.m.o rather than the mirrors.
cd temp/firefox/3.0.15-3.6b2 # 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");'
# beta == release find aus2.beta -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/aus2\.beta/aus2/; $a =~ s/beta/release/; system("diff -r -u $_ $a");' find aus2 -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; $a =~ s/aus2/aus2.beta/; system("diff -r -u $_ $a");'
Push to AUS
Only pushing test snippets over here (for production also copy aus2.beta and aus2)
rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20091112-Firefox-3.0.15-3.6b2-MU-test
Enable test snippets
Leveraging an earlier backupsnip
# cltbld@aus2-staging ~/bin/pushsnip 20091112-Firefox-3.0.15-3.6b2-MU-test
Update verify
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-3015-36b2-major/ cd /builds/verify/firefox-3015-36b2-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 here