Releases/Firefox 9.0/BuildNotes
Notes About Releasing
Please update the Notes Template and the Release:Primer for future releases (bug fixes, changes to automation) as needed
Bugs hit
Enter any bugs pre-existing or newly discovered and filed during the release:
- bug 705403 - Sendchanges [on windows] from build steps are being done from old buildbot version
bug 711581 - Can't push to hg.mozilla.org/build/tools repo- bug 711796 - release sanity should use different l10n dashboard URL for final releases
bug 705297 - New Android Market Developer Distribution Agreementbug 712068 - Addjust default releasetestUptake value
Build Engineers
rail - Tracking bug: bug 701054
Signed-off Revision(s)
Build 1: 79d24e644fdd
L10N changesets
Instructions on how to get them
- Firefox: link, removed csb, mn, sw per bug 710420
- Fennec: link
Tags
Build # | Branch, Tags | Changeset |
1 | MOBILE90_2011121612_RELBRANCH, FENNEC_9_0_RELEASE, FENNEC_9_0_BUILD1 | 55a89a2780e9 |
GECKO90_2011121613_RELBRANCH, FIREFOX_9_0_BUILD1 FIREFOX_9_0_RELEASE | a633a888157b |
Build data
Firefox
Build # | Type | Build ID | Build machine | Time to build |
1 | Linux | 20111216140209 | mv-moz2-linux-ix-slave11 | 2 hrs, 14 mins, 20 secs |
Linux64 | moz2-linux64-slave05 | 4 hrs, 26 mins, 51 secs | ||
Mac | moz2-darwin10-slave07 | 5 hrs, 7 mins, 12 secs | ||
Windows | mw32-ix-slave10 | 3 hrs, 12 mins, 32 secs |
Fennec
Build # | Type | Build ID | Build machine | Time to build |
1 | android | 20111216135618 | mv-moz2-linux-ix-slave16 | 1 hrs, 44 mins, 32 secs |
linux | mv-moz2-linux-ix-slave19 | 1 hrs, 2 mins, 57 secs | ||
macosx | bm-xserve09 | 2 hrs, 16 mins, 22 secs | ||
win32 | mw32-ix-slave04 | 1 hrs, 30 mins, 36 secs |
Notes
Build 1
Syncing repos
- reserved linux64-ix-slave15 for this task
- mozilla-beta -> mozilla-release was done by Christian Legnitto (as well as updating browser/locales/shipped_locales to eliminate non-release locales that were in beta releases mn,sw,csb)
- Did l10n repo sync on reserved linux64-ix-slave15 as per instructions
- It took 27m13.876s
Diff mozconfigs
Preparing to start Automation
- Set clobbers for the appropriate masters.
- Reserve slaves
echo "10" > reserved_slaves_bm07-build1
- Had to land new android mozconfigs (default and production) ahead of time to get a green build on mozilla-release
- Update l10n changesets for desktop, mobile
- Land automation configs (are you or buildduty going to reconfig? great, merge. otherwise double-land only your configs)
- Tag buildbot-configs, buildbotcustom, & tools with build & release tags
- update and reconfigure the master
- start automation
source ../bin/activate PYTHONPATH=. ../bin/python ../tools/buildbot-helpers/release_sanity.py -u rail \ -V 9.0 --branch mozilla-release --build-number 1 -c release-firefox-mozilla-release.py \ -c release-fennec-mozilla-release.py --dryrun --products firefox,fennec localhost:9001
- it failed trying to fetch l10n dashboard (9.0 vs 9). bug 711796
- Start automation:
PYTHONPATH=. ../bin/python ../tools/buildbot-helpers/release_sanity.py -u rail \ -V 9.0 --branch mozilla-release --build-number 1 -c release-firefox-mozilla-release.py \ -c release-fennec-mozilla-release.py -b --products firefox,fennec localhost:9001
E-mail Metrics
And for 9.0 final it's
Firefox,firefox,firefox,9.0,9.0 Fennec,firefox-mobile,fennec,9.0,9.0
E-mail mirrors@mozilla.org
Not necessary for rapid release betas, files only go as far as the 'internal mirrors'.
They want to know approximately what time push to external mirrors will occur. Ideally this is a 24hr notice to them, with the estimated time.
Subject: Firefox 9.0 and 3.6.25 coming to mirrors Dec 19 Body: Hi, We're planning on pushing our Firefox 9.0 and 3.6.25 releases to mirrors sometime next Monday, December 19. If you believe these releases or these dates will cause any problems, please notify release at mozilla.com. If you have any problems with mirror status/weights/etc, please notify mirror-submissions at mozilla.org.
Tag
No problems.
Bouncer Submitter
No problems.
Source
No problems.
Start autosign
NOTE: use new signcode keys from d:/2011-keys
# created in ~/tmp/sign_9.0.sh PRODUCT=firefox VERSION=9.0 BUILD=1 TAG=FIREFOX_9_0_RELEASE REPO='releases/mozilla-release' EMAIL=release@mozilla.com KEYDIR=d:/2011-keys RELCONFIG=mozilla/release-firefox-mozilla-release.py cd ${HOME}/hg-tools/ hg pull && hg up -r ${TAG} mkdir -p ~/signing-work/${PRODUCT}-${VERSION}/lib/python cd ~/signing-work/${PRODUCT}-${VERSION} cp ~/hg-tools/release/signing/* . rsync -av ~/hg-tools/lib/python/ ./lib/python/ make autosign PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} RELCONFIG=${RELCONFIG}
Instructions are in CombinedSigning
Build
Firefox
No problems
Firefox repacks
No problems
Fennec
Android
No problems
Desktop Builds
No problems
Mobile Desktop repacks
(aki): win32-mobile repacks died on a unicode env var. Catlee noted this is because json loads a unicode string; simplejson loads a string.
I backed out http://hg.mozilla.org/build/buildbot-configs/rev/1d21e762cca7; if we re-tag and rerun the repacks, it should work.
(rail): I retagged buildotcustom and buildbot-configs, updated and recofigured the master, and retriggered the repacks.
Unittests / Talos
- Look to see that they ran
- Document any oranges (per platform) for unittests - if possible, try to confirm it's known/random
- Make sure there's no red/failures that we need to have a dev look at
XULRunner
Source
No problems
Build
No problems
Signing
NOTE: use new signcode keys from d:/2011-keys
Used this script
Partner Repack
Firefox
No problems
Fennec
N/A
Firefox Signing
No problems
Android Signing
Instructions in MobileSigning
NOTE: It can be started in a different Windows without having to wait for Firefox signing to finish.
Used this script
Android Signature Verification
No problems
L10N verify
No problems
Updates
No problems
Update verify
No problems
8.0-9.0 partial updates
Since 8.0.1 release was mac only I generated 8.0-9.0 parrtial updates:
# cltbld@mv-moz2-linux-ix-slave17 (the slave which ran the updates builder) cd /builds/slave/rel-m-rel-updates/build # Download the custom patcher config wget -O patcher-configs/mozRelease-branch-patcher2-8.0.cfg https://bugzilla.mozilla.org/attachment.cgi?id=581369 # The file edited, changed <9.0> section: build id set to 20111216140209, locales copied from 8.0 # Download 8.0 complete MARs perl patcher2.pl --download --app=firefox --brand=Firefox --config=patcher-configs/mozRelease-branch-patcher2-8.0.cfg # Generate 8.0->9.0 partial mars and snippets perl patcher2.pl --create-patches --partial-patchlist-file=patchlist.cfg --app=firefox --brand=Firefox --config=patcher-configs/mozRelease-branch-patcher2-8.0.cfg # Fix permissions find temp/firefox/8.0-9.0/ftp/firefox/nightly/9.0-candidates/build1 -type f -exec chmod 644 '{}' ';' find temp/firefox/8.0-9.0/ftp/firefox/nightly/9.0-candidates/build1 -type d -exec chmod 755 '{}' ';' # Upload 8.0-9.0 complete MARs rsync -av -e 'ssh -oIdentityFile=~/.ssh/ffxbld_dsa' '--exclude=*complete.mar' temp/firefox/8.0-9.0/ftp/firefox/nightly/9.0-candidates/build1/update ffxbld@stage-old.mozilla.org:/pub/mozilla.org/firefox/nightly/9.0-candidates/build1/ # rsync 8.0-9.0 *partial* snippets to aus2-staging (excluding complete.txt snippets) rsync -av --exclude=complete.txt -e 'ssh -oIdentityFile=~/.ssh/cltbld_dsa' temp/firefox/8.0-9.0/aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-9.0-8.0-build1-test rsync -av --exclude=complete.txt -e 'ssh -oIdentityFile=~/.ssh/cltbld_dsa' temp/firefox/8.0-9.0/aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-9.0-8.0-build1
Merge new snippets with old ones on aus2-staging:
# cltbld@aus2-staging cd /opt/aus2/snippets/staging/ # backup the original snippets rsync -av Firefox-9.0-build1/ Firefox-9.0-build1.orig/ # merge 8.0 partial snippets into the automatically generated ones rsync -av Firefox-9.0-8.0-build1/ Firefox-9.0-build1/ # backupsnip and pushsnip 8.0 partial snippets for test channels ~/bin/backupsnip Firefox-9.0-8.0-build1-test ~/bin/pushsnip Firefox-9.0-8.0-build1-test
- Sent an email to r-d about availability of 8.0-9.0 updates.
- Added Firefox-9.0-Partial-8.0 product to Bouncer with the similar to Firefox-9.0-Partial-8.0.1 locations (not for contrib platforms)
Update verify for 8.0 partial updates
- Landed a patch which forces update verify to use partial updates for 8.0
- tagged tools with FIREFOX_9_0_BUILD1_RUNTIME and FIREFOX_9_0_RELEASE_RUNTIME
- TODO: revert the patch and move FIREFOX_9_0_BUILD1_RUNTIME and FIREFOX_9_0_RELEASE_RUNTIME tags back to 04322bcb13b5 after final verification.
# On my local machine, to kick off update verify for p in linux linux64 macosx64 win32; do for i in 1 2 3 4 5 6 7 8 9 10; do curl "http://buildbot-master07.build.sjc1.mozilla.com:8001/builders/release-mozilla-release-${p}_update_verify_${i}%2F10/force" >/dev/null sleep 5 done done
Generate Windows only snippets
- per email in the r-d ML we're going to push snippets for Windows only:
# cltbld@aus2-staging cd /opt/aus2/snippets/staging rsync -av --exclude='**/Linux**' --exclude='**/Darwin**' Firefox-9.0-build1/ Firefox-9.0-build1-win32/
Major Update
N/A
Update verify
N/A
Socorro Product Data Updates
N/A
Reset reserved slaves
echo "0" > reserved_slaves_bm07-build1
Run backupsnip
~/bin/backupsnip Firefox-9.0-build1
Check permissions / AV scan
No problems
Push files to internal mirrors
- updated stage:/pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude in advance to add
- firefox/releases/9.0
- Forced the "push to mirrors" builder.
Final verification
Forced once uptake reached 3. Filed bug 712068 to do this automatically.
Push to beta
N/A
Push index file to mirrors
Added the following lines to the top of stage:/pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude:
+ firefox + firefox/releases + firefox/releases/9.0 + firefox/releases/9.0/*/ + firefox/releases/9.0/*/*/ + firefox/releases/9.0/*/*/*/ + firefox/releases/9.0/**index.html - firefox/releases/9.0/**
Removed the previously added "- firefox/releases/9.0" line. After that, ran the following to lay out the index files:
# ffxbld@stage cd /pub/mozilla.org/firefox/releases/9.0 wget --no-check-certificate -O index.html https://bugzilla.mozilla.org/attachment.cgi?id=540139 sed -i -e 's/5/9/g' index.html for dir in `find . -type d -mindepth 1`; do cp -pv index.html $dir/; done
Push to external mirrors
Removed the following lines from the top of stage:/pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude:
+ firefox + firefox/releases + firefox/releases/9.0 + firefox/releases/9.0/*/ + firefox/releases/9.0/*/*/ + firefox/releases/9.0/*/*/*/ + firefox/releases/9.0/**index.html - firefox/releases/9.0/**
- Updated stage:/pub/mozilla.org/zz/rsyncd-mozilla-current.exclude to 9.0
- 2min after these changes were made, LegNeato asked for things to hold if we hadn't done it already, so I quickly reverted the changes. Mirror uptake showed that some additional locations had the files anyways, so it might be too late. (bhearsum)
- Set rating of CDN to 45k and enabled it
- once uptake hit 100K (it was before the release) I disabled CDN and set its rating to 1
Publish Fennec to the Android Market
Push the files
- as ffxbld@stage...
- use the following script
Android Market
IMPORTANT - Make sure to follow instructions!
- download multi apk (e.g. multi/fennec-9.0.multi.android-arm.apk)
- visit https://market.android.com/publish
- choose "Firefox Beta" or "Firefox"
- select the "APK Files" tab and choose "Upload APK"
- choose the multi apk that you downloaded and hit "upload"
- NOTE: the progress bar does not seem to show progress (at least on Google Chrome)
- when it finishes uploading, verify VersionCode is build date
- hit "Save"
- choose the multi apk that you downloaded and hit "upload"
- activate new apk (You should see an Error message since both apk's are active)
- deactivate old apk (You should not see the Error message anymore)
- hit "Save"
- If this is a beta 1, go to "Product Details" tab -> Recent Changes, change the url to http://www.mozilla.com/en-US/mobile/{VERSION}/releasenotes/
- and hit "Save"
Push XULRunner to Mirrors
ssh -i ~/.ssh/xrbld_dsa xrbld@stage rsync -avn --exclude=*.txt --exclude=*unsigned* --exclude=*-symbols.zip --exclude=*.checksums \ --exclude 'jsshell-*' \ /pub/mozilla.org/xulrunner/nightly/9.0-candidates/build1/ /pub/mozilla.org/xulrunner/releases/9.0/ rsync -av --exclude=*.txt --exclude=*unsigned* --exclude=*-symbols.zip --exclude=*.checksums \ --exclude 'jsshell-*' \ /pub/mozilla.org/xulrunner/nightly/9.0-candidates/build1/ /pub/mozilla.org/xulrunner/releases/9.0/
Update XULRunner wiki page
Updated Gecko SDK wiki page
Push to Release Channel
- Landed a throttling patch
- tag with AUS2_PRODUCTION
- Got a green Jenkins build
- filed bug bug 712251 as a "blocker" against IT
~/bin/pushsnip Firefox-9.0-build1-win32
Update symlinks
Once we're signed off on the release channel.
# ffxbld@stage cd /pub/mozilla.org/firefox/releases ln -s 9.0 latest-9.0 rm latest-8.0 rm latest ln -s latest-9.0 latest
Remove index.html files
cd /pub/mozilla.org/firefox/releases/9.0 find . -name index.html -exec echo rm -v {} \; find . -name index.html -exec rm -v {} \;
Update browser choice website
- Filed bug 712524