Releases/Firefox 3.5/BuildNotes: Difference between revisions
Line 82: | Line 82: | ||
Everything the same as [https://bug459878.bugzilla.mozilla.org/attachment.cgi?id=383900 the latest test run] with one addition: | Everything the same as [https://bug459878.bugzilla.mozilla.org/attachment.cgi?id=383900 the latest test run] with one addition: | ||
* mn removed amazondotcom.xml, answers.xml, eBay.xml and yahoo.xml {{bug|477989}} | * mn removed amazondotcom.xml, answers.xml, eBay.xml and yahoo.xml {{bug|477989}} | ||
=== Use empty snippets for mn and tr snippets === | |||
{{bug|500642}} was filed after the MU update generation was done. We can't just regenerate the snippets because test snippets were already pushed, so we'll modify the MU snippets to serve nulls to these locales: | |||
# cltbld @ aus2-staging | |||
cd ~/ | |||
# test snippets | |||
rsync -av /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ 20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ | |||
cd 20090625-Firefox-3.0.11-3.5rc3build2-MU-test | |||
for i in `find . -name mn -or -name tr`; do for file in `find $i -type f`; do rm $file && touch $file; done; done | |||
# verification - should have no output | |||
cd .. | |||
diff --brief -Nar /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ 20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ | grep -v '/\(tr\|mn\)/' | |||
# push them back to snippets/staging | |||
rsync -av 20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr/ | |||
# real snippets | |||
cd ~/ | |||
rsync -av /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU/ 20090625-Firefox-3.0.11-3.5rc3build2-MU/ | |||
cd 20090625-Firefox-3.0.11-3.5rc3build2-MU | |||
for i in `find . -name mn -or -name tr`; do for file in `find $i -type f`; do rm $file && touch $file; done; done | |||
# verification - should have no output | |||
cd .. | |||
diff --brief -Nar /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU/ 20090625-Firefox-3.0.11-3.5rc3build2-MU/ | grep -v '/\(tr\|mn\)/' | |||
# push them back to snippets/staging | |||
rsync -av 20090625-Firefox-3.0.11-3.5rc3build2-MU/ /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr/ | |||
=== Re-verify that releasetest = beta = release === | |||
cd /opt/aus2/snippets/staging | |||
# releasetest == beta | |||
find 20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr/20090625-Firefox-3\.0\.11-3\.5rc3build2-MU-no-mn-or-tr/; system("diff -r -u $_ $a");' | |||
find 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/20090625-Firefox-3\.0\.11-3\.5rc3build2-MU-no-mn-or-tr/20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr/; system("diff -r -u $_ $a");' | |||
# beta == release | |||
find 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta/release/; system("diff -r -u $_ $a");' | |||
find 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; system("diff -r -u $_ $a");' | |||
== Stage and Rename files == | == Stage and Rename files == |
Revision as of 14:42, 26 June 2009
Until we're about to ship this page will serve as a spot to put down a rough checklist of what needs to be done to ship.
Release Engineers
bhearsum,nthomas
Tracking Bug
Notes
Generate major update
Updated the patcher and update verify configs.
# ssh cltbld@prometheus-vm.build.mozilla.org mkdir -p /builds/3.0.11-3.5rc3build2-major-update-test/snippets cd /builds/3.0.11-3.5rc3build2-major-update-test/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_R8 -d patcher mozilla/tools/patcher cd patcher cvs -d:ext:ffxbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R8 -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_R8 --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.5rc3 3.0.11-3.5rc3 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
Separate out beta snippets
Skipped over this because beta and release will be pushed together, done like this.
Quick verify
Check that releasetest = beta = release.
cd temp/firefox/3.0.11-3.5rc3 # 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.11-3.5rc3build2-major-update-test/snippets/patcher/temp/firefox/3.0.11-3.5rc3 rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-test rsync -e 'ssh -i /home/cltbld/.ssh/aus' -av aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU
Enable test snippets
# cltbld@aus2-staging ~/bin/backupsnip 20090625-Firefox-3.0.11-3.5rc3build2-MU-test ~/bin/pushsnip 20090625-Firefox-3.0.11-3.5rc3build2-MU-test
Update verify
Ran update verify on fx-{linux,mac,win32}-1.9-slave2 as follows:
mkdir -p /builds/verify/firefox-3011-35rc3build2-major-test/ cd /builds/verify/firefox-3011-35rc3build2-major-test/ 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 the latest test run with one addition:
- mn removed amazondotcom.xml, answers.xml, eBay.xml and yahoo.xml bug 477989
Use empty snippets for mn and tr snippets
bug 500642 was filed after the MU update generation was done. We can't just regenerate the snippets because test snippets were already pushed, so we'll modify the MU snippets to serve nulls to these locales:
# cltbld @ aus2-staging cd ~/ # test snippets rsync -av /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ 20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ cd 20090625-Firefox-3.0.11-3.5rc3build2-MU-test for i in `find . -name mn -or -name tr`; do for file in `find $i -type f`; do rm $file && touch $file; done; done # verification - should have no output cd .. diff --brief -Nar /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ 20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ | grep -v '/\(tr\|mn\)/' # push them back to snippets/staging rsync -av 20090625-Firefox-3.0.11-3.5rc3build2-MU-test/ /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr/ # real snippets cd ~/ rsync -av /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU/ 20090625-Firefox-3.0.11-3.5rc3build2-MU/ cd 20090625-Firefox-3.0.11-3.5rc3build2-MU for i in `find . -name mn -or -name tr`; do for file in `find $i -type f`; do rm $file && touch $file; done; done # verification - should have no output cd .. diff --brief -Nar /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU/ 20090625-Firefox-3.0.11-3.5rc3build2-MU/ | grep -v '/\(tr\|mn\)/' # push them back to snippets/staging rsync -av 20090625-Firefox-3.0.11-3.5rc3build2-MU/ /opt/aus2/snippets/staging/20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr/
Re-verify that releasetest = beta = release
cd /opt/aus2/snippets/staging # releasetest == beta find 20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr -type d -iregex '.*/releasetest$' | perl -nle '$a = $_; $a =~ s/releasetest/beta/; $a =~ s/20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr/20090625-Firefox-3\.0\.11-3\.5rc3build2-MU-no-mn-or-tr/; system("diff -r -u $_ $a");' find 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta$/releasetest/; $a =~ s/20090625-Firefox-3\.0\.11-3\.5rc3build2-MU-no-mn-or-tr/20090625-Firefox-3.0.11-3.5rc3build2-MU-test-no-mn-or-tr/; system("diff -r -u $_ $a");'
# beta == release find 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr -type d -iregex '.*/beta$' | perl -nle '$a = $_; $a =~ s/beta/release/; system("diff -r -u $_ $a");' find 20090625-Firefox-3.0.11-3.5rc3build2-MU-no-mn-or-tr -type d -iregex '.*/release$' | perl -nle '$a = $_; $a =~ s/release$/beta/; system("diff -r -u $_ $a");'
Stage and Rename files
NOT DONE YET We'll have to do something similar to Firefox 3.0 with at least the following caveats:
- Don't trim out contrib builds if they exist
- Work needs to be done as ffxbld
Add index files
NOT DONE YET Same as Firefox 3.0. Should try to retrieve the index.html from Firefox 3.0 and run it by beltzner.
Bouncer Setup
NOT DONE YET
Push to Mirrors
NOT DONE YET Again, like Firefox 3.0 we need to push to mirrors in two stage. First pushing '3.5/index.html' and give that lot's of time to get picked up. Then, pushing the actual files. You can update the 'latest-3.5' symlink at this point, too
Update rsync modules
NOT DONE YET
Tag and Source package regeneration
NOT DONE YET Because we have so many l10n repositories to deal with it will be best to do this with the automation. We'll need to patch both release_config.py. The following variable changes should make it happen: To release_config.py:
sourceRepoRevision = 'FIREFOX_3_5rc3_RELEASE' relbranchOverride = 'GECKO191_20090623_RELBRANCH' version = '3.5' buildNumber = 2 baseTag = 'FIREFOX_3_5'
We need to replace all of the revisions in l10n-changesets, too:
# from vim (because macosx sed sucks) :%s/\s\+.*/ FIREFOX_3_5rc3_RELEASE/g
As well as this patch to factory.py:
diff -r 0bff92bdd6fc process/factory.py --- a/process/factory.py Tue Jun 23 17:21:47 2009 +0200 +++ b/process/factory.py Thu Jun 25 09:50:05 2009 -0400 @@ -1760,7 +1760,7 @@ class ReleaseTaggingFactory(ReleaseFacto workdir=repoName, haltOnFailure=True ) - for tag in (buildTag, releaseTag): + for tag in [releaseTag]: self.addStep(ShellCommand, name='hg_tag', command=['hg', 'tag', '-u', hgUsername, '-f', '-r',
We have to call it build2 due to the way relbranchoverride works (FIXME). You don't need to touch the old* vars since Tag and Source don't use them, but you can if you want. The Source packages will be pushed to 3.5-candidates/build2. It would be good to move that dir to ~cltbld or ~ffxbld rather quickly.
You'll need to do any sort of staging that needs to happen and eventually rsync it out to /pub/mozilla.org/firefox/releases/3.5/.
Remove index.html files
NOT DONE YET Once the website goes live then we can remove the index.html bandaid:
cd /pub/mozilla.org/firefox/releases/3.5/ find . -name index.html | less find . -name index.html | xargs rm -v
Push Major Update
NOT DONE YET
Symlink update
NOT DONE YET Update the 'latest' symlink.
cd /pub/mozilla.org/firefox/releases rm latest && ln -s latest-3.5 latest