Releases/Firefox 33.1/BuildNotes
Contents
Firefox Build 1
Expecting a build2 for a further fix
Checklist
-
(RelMan) Ship the l10n milestone - (RelMan) Submit to Ship It
- Upload to Apple - delay this until we know more about build2, can be as late as Nov 3
- no further steps to do, see build2
Issues
- win32 update verify 6/10 failed to purge enough space and show some output, so buildbot killed it. PYTHONUNBOFFERED=1 would help
- missed disabling whatsnew pages for all versions in patcher config, as those are being handled in-app by bug 1077643
- fix config with a patch for build2
- if we don't do a build2 we should munge the snippets, doing a
sed -i -e '/^openURL/d' -e 's,^actions=showURL,actions=silent,'
on all versions.
Firefox build2
Checklist
-
(RelMan) Ship the l10n milestone - (RelMan) Submit to Ship It
- Upload to AppleRelman wants to test the build before notify Apple. Send the email to apple on relman request (or expect relman to email them)
-
fix snippets(see below) -
change patch from build 1patch - Push to mirrors
- Apply Throttling
- Verify throttling
- Run pushsnip
- Post-release tasks
issues
- win32 update verify 3/6 - 20 minutes with no output purging space, filed bug 1091982. Rerunning.
- incorrect snippet edit applied in patch from build 1 bug 1093187 (hwine)
- fix for snippets on beta test:
# on ffxbld@aus3:staging/ rsync -a ../pushed/Firefox-33.1-build2-test/ Firefox-33.1-build2-test-silent/ find Firefox-33.1-build2-test-silent -type f -exec sed -i -e '/^actions=silent/d' {} \; diff -ru ../pushed/Firefox-33.1-build2-test/ Firefox-33.1-build2-test-silent/ | less ~/bin/pushsnip Firefox-33.1-build2-test-silent
- fix for production snippets (not yet pushed):
# on ffxbld@aus3:staging/ find Firefox-33.1-build2 -type f -exec sed -i -e '/^actions=silent/d' {} \;
Firefox Build 3
Setup
Before this starts, we're going to need to decide if we're using the shortened releaseConfig['enUSPlatforms'] or not. So far it's looking very promising. If we are, then we should do these steps as setup:
- [landed]
PRIOR TO START IN SHIP IT- modify buildbot-configs/mozilla/release-firefox-mozilla-release.py.template to have
releaseConfig['enUSPlatforms'] = ('win32',)
- PRIOR TO UPDATES RUNNING
- patch tools/release/patcher-configs/mozRelease-branch-patcher2.cfg again to get the whatsnew set up right,
patch that needs landinglanded - copy over the non-windows files from build2:
- patch tools/release/patcher-configs/mozRelease-branch-patcher2.cfg again to get the whatsnew set up right,
#ffxbld@stage cd /pub/mozilla.org/firefox/candidates/ mkdir -p 33.1-candidates/build3/update cd 33.1-candidates/build3/ rsync -av --exclude *win32.zip ../build2/jsshell* . rsync -av --exclude win32 ../build2/mar-tools . rsync -av --exclude win32* ../build2/*_info.txt . rsync -av --exclude win32 ../build2/partner-repacks . for p in linux-i686 linux-x86_64 mac; do rsync -av ../build2/$p . rsync -av ../build2/update/$p update/ done
Checklist
-
(RelMan) Ship the l10n milestone - (RelMan) Submit to Ship It
- copy over the non-windows files from build2
- Push to mirrors
-
N/A Apply Throttling -
N/A Verify throttling - Run pushsnip
- Post-release tasks
Issues
- release runner has failed: a bunch of http 500 errors because of bug 1094922. Relman is waiting for hg return to a stable status before retry the submission
- win32 repack 1/10 - timeout cloning m-b, then hit b-2008-ix-0103 with low space and there were a lot of retries
Updates
The updates builder failed when generating snippets, when it tried to look up the checksum for a 33.0.3 -> 33.1 build3 partial on not-windows. The testing done in staging (for limited enUSPlatofrms) didn't allow for a 33.0.3 release coming along, because it hadn't been mentioned. The best user experience will be to have partials from 33.0.3 for all platforms, so we need to generate them for mac & linux. Working to follow ...
On b-linux64-hp-0021: ## env setup mkdir ~/33.1-build3-partials; cd $_ export LC_ALL=C wget http://stage.mozilla.org/pub/mozilla.org/firefox/candidates/33.1-candidates/build3/mar-tools/linux64/mar wget http://stage.mozilla.org/pub/mozilla.org/firefox/candidates/33.1-candidates/build3/mar-tools/linux64/mbsdiff chmod +x m* export PATH=`pwd`:$PATH curl -sL https://bugzilla.mozilla.org/attachment.cgi?id=8518880 > make_incremental_updates.py ## get complete mars (a few mins) mkdir -p releases/33.0.3/ rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_rsa' --exclude win32 --exclude '*partial.mar*' \ ffxbld@stage.mozilla.org:/pub/mozilla.org/firefox/releases/33.0.3/update releases/33.0.3/ mkdir -p candidates/33.1-candidates/build3 rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_rsa' --exclude win32 --exclude '*partial.mar*' \ ffxbld@stage.mozilla.org:/pub/mozilla.org/firefox/candidates/33.1-candidates/build3/update candidates/33.1-candidates/build3/ shipped_locales=`curl -s http://hg.mozilla.org/releases/mozilla-release/raw-file/FIREFOX_33_1_RELEASE/browser/locales/shipped-locales | cut -d' ' -f1 | grep -v ja` ## create manifest for fast partial generator rm manifest for p in linux-i686 linux-x86_64; do for l in $shipped_locales ja; do echo "releases/33.0.3/update/$p/$l/firefox-33.0.3.complete.mar,candidates/33.1-candidates/build3/update/$p/$l/firefox-33.1.complete.mar,candidates/33.1-candidates/build3/update/$p/$l/firefox-33.0.3-33.1.partial.mar,libsoftokn3.chk|libnssdbm3.chk|libfreebl3.chk" >> manifest done done p="mac" for l in $shipped_locales ja-JP-mac; do echo "releases/33.0.3/update/$p/$l/firefox-33.0.3.complete.mar,candidates/33.1-candidates/build3/update/$p/$l/firefox-33.1.complete.mar,candidates/33.1-candidates/build3/update/$p/$l/firefox-33.0.3-33.1.partial.mar,Contents/MacOS/libsoftokn3.chk|Contents/MacOS/libnssdbm3.chk|Contents/MacOS/libfreebl3.chk|Contents/MacOS/firefox" >> manifest done ## generate partials, could have been parallelised with separate manifests (72 min) time python -u make_incremental_updates.py -f manifest 2>&1 | tee generate-partials.log ## setup signing # get signing token via master hg clone https://hg.mozilla.org/build/tools export PYTHONPATH=tools/lib/python export SIGN_CMD="python tools/release/signing/signtool.py -t `pwd`/token -n `pwd`/nonce -c tools/release/signing/host.cert -H signing4.srv.releng.scl3.mozilla.com:9120 -H signing5.srv.releng.scl3.mozilla.com:9120 -H signing6.srv.releng.scl3.mozilla.com:9120" ## sign new partials, the mar file itself and create a detached sig (13 mins) find candidates/33.1-candidates/build3/update -name '*partial.mar' -print -exec $SIGN_CMD -f mar -f gpg {} \; 2>&1 | tee sign-partials.log ## update checksums files for f in `find candidates/33.1-candidates/build3/update -name '*partial.mar'| sort`; do csum=`dirname ${f/\/update/}`/firefox-33.1.checksums mkdir -pv `dirname $csum` wget -q -O $csum http://stage.mozilla.org/pub/mozilla.org/firefox/$csum echo `sha512sum $f | cut -d ' ' -f1` sha512 `stat -c %s $f` `echo $f | sed -e 's/.*update/update/'` >> $csum echo `md5sum $f | cut -d ' ' -f1` md5 `stat -c %s $f` `echo $f | sed -e 's/.*update/update/'` >> $csum echo `sha1sum $f | cut -d ' ' -f1` sha1 `stat -c %s $f` `echo $f | sed -e 's/.*update/update/'` >> $csum done ## resign checksums find candidates/33.1-candidates/build3/ -name '*checksums' -print -exec $SIGN_CMD -f gpg {} \; ## fix permissions find candidates/ -type f -exec chmod 644 {} \; find candidates/ -type d -exec chmod 755 {} \; ## upload partials, checksums+sig rsync -nav -e 'ssh -i /home/cltbld/.ssh/ffxbld_rsa' candidates/33.1-candidates/build3/ \ ffxbld@stage.mozilla.org:/pub/mozilla.org/firefox/candidates/33.1-candidates/build3/
Also
- backed out the automated tools landing so rebumping works, 6e8398759170
- forced updates builder
- forced check_permissions builder (green)
- av scan on new partials (green)
cd /pub/mozilla.org/firefox/candidates/33.1-candidates/build3/update nice ionice -c2 -n7 extract_and_run_command.py -j2 clamdscan -m --no-summary -- \ {linux*,mac}/*/firefox-33.0.3-33.1.partial.mar 2>&1 | tee /tmp/av.log
Other Issues
- Bouncer had product submitted by build1 which doesn't match build3:
Firefox-33.1-EUballot Firefox-33.1-Complete Firefox-33.1 Firefox-33.1-SSL Firefox-33.1-stub Firefox-33.1-Partial-33.0 Firefox-33.1-Partial-32.0.3 Firefox-33.1-Partial-33.0.2
- Deleted all products listed above and reran the bouncer builder
- To fix the state of the uptake_check scheduler ran the following to remove release-mozilla-release-firefox_updates from the list of remainingBuilders:
UPDATE schedulers SET state='{"remainingBuilders": ["release-mozilla-release-firefox_push_to_mirrors"], \ "upstreamBuilders": ["release-mozilla-release-firefox_push_to_mirrors", "release-mozilla-release-firefox_updates"], \ "lastReset": 1415366189.750769, "lastCheck": 1415366185}' \ WHERE name='release-mozilla-release-firefox_uptake_check';
Update Balrog
Because we only built win32 with build3, Balrog's release blob wasn't serving updates for Linux or Mac on the release channel. At the time, we weren't using Balrog at all, but the following week bhearsum wanted to start moving some traffic over, so he did the following to fix the 33.1 build3 blobs:
- Downloaded the build2 and build3 blobs (https://aus4-admin.mozilla.org/releases/Firefox-33.1-build2/data and https://aus4-admin.mozilla.org/releases/Firefox-33.1-build3/data).
- Copied all of the Linux and Mac platforms from build2 -> build3.
- Updated the blob with the script from https://bugzilla.mozilla.org/show_bug.cgi?id=1079639:
python balrog-tweaker.py -j ~/tmp/build3.json -b Firefox-33.1-build3 -a https://aus4-admin.mozilla.org -c creds.py -u bhearsum@mozilla.com
Fennec Build 1
Checklist
-
(RelMan) Ship the l10n milestone - (RelMan) Submit to Ship It
- build2 before we went any further
Issues
- email '[release] Fennec 33.1 build1: Updates available on None', bug 1019724 again
Fennec build 2
Potential fix for 1089183
Checklist
-
(RelMan) Ship the l10n milestone - (RelMan) Submit to Ship It
- Push to mirrors
- Post-release tasks
Issues
- email has None instead as channel name, from bug 1019724
Subject: [release] Fennec 33.1 build2: Updates available on None Content: Updates to Fennec 33.1 build2 are now ready for testing on the None channel.