Releases/Firefox 5.0b1/BuildNotes
Contents
- 1 Notes About Releasing
- 2 Build Engineers
- 3 Signed-off Revision(s)
- 4 L10N changesets
- 5 Tags
- 6 Build data
- 6.1 Build 1
- 6.1.1 Setup
- 6.1.2 Tag
- 6.1.3 Send mail to metrics
- 6.1.4 Source
- 6.1.5 Build/Repack
- 6.1.6 Unittests
- 6.1.7 Update Bouncer
- 6.1.8 Signing
- 6.1.9 L10N Verify
- 6.1.10 Updates
- 6.1.11 Update Verify
- 6.1.12 Major Update 3.7a* & 4.0b* to 5.0b1
- 6.1.13 Major Update Verify
- 6.1.14 Permissions and virus check
- 6.1.15 Socorro product data updates
- 6.1.16 Push to mirrors
- 6.1.17 Push snippets to the beta channel
- 6.1.18 Push MU snippets to beta channel
- 6.1.19 Release
- 6.1 Build 1
Notes About Releasing
Please update the Release:Primer for future releases (bug fixes, changes to automation) as needed
Build Engineers
lsblakk, nthomas - bug 652641
Signed-off Revision(s)
building off a307c807cfab which has green builds
L10N changesets
not doing l10n on this build, en-US only.
Tags
Build data
Build 1
Setup
- set clobber for pm03:8010 all builders (which was futile, since there have been no release builds for this branch - habit)
- landed configs
- landed tools/release/updates/*.cfg for beta
- updated pm03 buildbot-configs, buildbotcustom, tools
- manually tagged buildbot-configs, buildbotcustom, tools with FIREFOX_5_0b1_RELEASE, FIREFOX_5_0b1_BUILD1
- added symlinks in builder_master for the new beta files (l10n-changesets_mozilla-beta, release-firefox-mozilla-beta.py)
Dry run:
PYTHONPATH=.:tools/lib/python/ python tools/buildbot-helpers/release_sanity.py -u lsblakk -V 5.0b1 --branch mozilla-beta --build-number 1 -c release-firefox-mozilla-beta.py --dryrun localhost:9010
Dry run caught the need for symlinks in builder_master for the new beta files (l10n-changesets_mozilla-beta, release-firefox-mozilla-beta.py). Once those were added, it passed. Ran without --dry-run to start the release:
PYTHONPATH=.:tools/lib/python/ python tools/buildbot-helpers/release_sanity.py -u lsblakk -V 5.0b1 --branch mozilla-beta --build-number 1 -c release-firefox-mozilla-beta.py localhost:9010
Tag
No problems
Send mail to metrics
We should do this at the start now, but didn't actually this time. By then 5.0 was already set up in the metrics views. Emailed metrics@m.c with version and buildID for completeness.
Source
No problems
Build/Repack
Builds completed but reported as failed because there was no scheduler to trigger for repacks as we weren't doing any locales. Filed bug 653294
Unittests
Some oranges and one failure - put report in here. TODO
Update Bouncer
Buildbot step succeeded, updated Bouncer. Wanted to removed the Firefox-5.0b1 locations and product manually, but hit bug 629404 and had to be content with unsetting Check Now.
Signing
This was fun. A combination of old and new:
- kicked off autosign
- autosign failed in a download loop due to no locales (filed bug 643491) so killed it
- ran the signing script manually
make postsign PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} USE_NEW=1
Checked candidates to make sure everything was uploaded properly and it seems good.
On May 16, 2011 - after the release - bug 657285 was filed about there not being any contrib directories. Because I had not used autosign, they were not created and so I did:
# on keymaster in /home/cltsign to create & fix permissions & upload to nightly dir make stage EMAIL=lsblakk@mozilla.com BUILD=1 VERSION=5.0b1 WORKDIR=/home/cltsign/signing-work/firefox-5.0b1 make upload EMAIL=lsblakk@mozilla.com BUILD=1 VERSION=5.0b1 WORKDIR=/home/cltsign/signing-work/firefox-5.0b1 # on stage as ffxbld to put in releases rsync -av --exclude=*tests* --exclude=*crashreporter* --exclude=*.log --exclude=*.txt --exclude=*unsigned* --exclude=*update-backup* --exclude=*partner-repacks* --exclude=*.checksums --exclude=logs /pub/mozilla.org/firefox/nightly/5.0b1-candidates/build1/ /pub/mozilla.org/firefox/releases/5.0b1/
L10N Verify
n/a - no locales for this release
Updates
skip_updates was set for this release, so no snippets were generated. Still got an email for them though and filed bug 653512.
Update Verify
n/a
Major Update 3.7a* & 4.0b* to 5.0b1
Bug for this work is bug 651982.
Manual generation of a major update from 3.7a*, 4.0b* to 5.0b1, using linux-ix-slave02
cd /builds/tmp/ # checkout patcher cvs -d :ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R13 -d bug651982-5.0b1-MU mozilla/tools/patcher cd bug651982-5.0b1-MU # get utility libraries cvs -d :ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R13 -d MozBuild mozilla/tools/release/MozBuild cvs -d :ext:cltbld@cvs.mozilla.org:/cvsroot co -r UPDATE_PACKAGING_R13 -d Bootstrap mozilla/tools/release/Bootstrap/Util.pm hg clone http://hg.mozilla.org/build/tools/ cvs -d :ext:cltbld@cvs.mozilla.org:/cvsroot co -d patcher-configs mozilla/tools/patcher-configs cd patcher-configs curl -sL https://bug651982.bugzilla.mozilla.org/attachment.cgi?id=529071 | patch -p0 cd .. export HGROOT=http://hg.mozilla.org/releases/mozilla-2.0 perl patcher2.pl --build-tools-hg --tools-revision=UPDATE_PACKAGING_R13 --app=firefox --brand=Firefox --config=patcher-configs/moz20-branch-major-update-patcher2.cfg perl patcher2.pl --download --app=firefox --brand=Firefox --config=patcher-configs/moz20-branch-major-update-patcher2.cfg cd temp/firefox ln -s 5.0b1 4.0b12-5.0b1 cd ../.. perl patcher2.pl --create-patches --partial-patchlist-file=patchlist.cfg --app=firefox --brand=Firefox --config=patcher-configs/moz20-branch-major-update-patcher2.cfg # fix up the mac build targets, # https://wiki.mozilla.org/index.php?title=User:NThomas:Mac_BUILDTARGET cd temp/firefox/4.0b12-5.0b1/ # 64bit mono-arch only for a5 thru b6 rm -rf aus*/Firefox/{3.7a{1..4},4.0b{7..12}}/Darwin_x86_64-gcc3 # b5 and b6 were ppc + intel32 and said so, only want intel32 rm -rf aus2*/Firefox/4.0b{5,6}/Darwin_x86_64-gcc3-u-i386-x86_64 for d in aus2*/Firefox/4.0b{5,6}; do mv $d/Darwin_x86-gcc3-u-i386-x86_64 $d/Darwin_x86-gcc3-u-ppc-i386 done # a1 thru a5 and b1 thru b4 were ppc + intel, but didn't say so # we rely on this to block PPC # http://mxr.mozilla.org/mozilla/source/webtools/aus/xml/index.php#94 rm -rf aus2*/Firefox/{3.7a{1..5},4.0b{1..4}}/Darwin_x86_64-gcc3-u-i386-x86_64 for d in aus2*/Firefox/{3.7a{1..5},4.0b{1..4}}; do mv $d/Darwin_x86-gcc3-u-i386-x86_64 $d/Darwin_Universal-gcc3 done # check releasetest == beta bash /builds/tmp/bug651982-5.0b1-MU/tools/release/compare-channel-snippets.sh aus2 beta aus2.test releasetest # push up to aus rsync -av -e 'ssh -oIdentityFile=~/.ssh/cltbld_dsa' aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-5.0b1-build1-4.0b12-build1-MU-test rsync -av -e 'ssh -oIdentityFile=~/.ssh/cltbld_dsa' aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-5.0b1-build1-4.0b12-build1-MU # push test snippets live bash -c 'ssh -l cltbld -i ~/.ssh/cltbld_dsa aus2-staging.mozilla.org ~/bin/backupsnip Firefox-5.0b1-build1-4.0b12-build1-MU-test' bash -c 'ssh -l cltbld -i ~/.ssh/cltbld_dsa aus2-staging.mozilla.org ~/bin/pushsnip Firefox-5.0b1-build1-4.0b12-build1-MU-test'
Remove oldest alphas
After this bug comment was posted, removed 3.7a1 & 3.7a2 snippets:
# as cltbld on aus2-staging cd /opt/aus2/snippets/staging/ rm -rf Firefox-5.0b1-build1-4.0b12-build1-MU{,-test}/Firefox/3.7a{1,2}
We didn't restore the previous test snippets for 3.7a1 and 3.7a2 initially, but this confused QA (bug 654572) so they were fished out of the 20110428-nightly-1.tar.bz2 backup.
Fix billboard link
Marketing are setting up
https://www.mozilla.com/en-US/firefox/5.0beta/details/
so the snippets need modifying
# cltbld@aus2-staging cd /opt/aus2/snippets/staging rsync -a Firefox-5.0b1-build1-4.0b12-build1-MU-test{,-wrongurl}/ rsync -a Firefox-5.0b1-build1-4.0b12-build1-MU{,-wrongurl}/ find Firefox-5.0b1-build1-4.0b12-build1-MU{,-test} -type f -exec sed -i -e 's,^detailsUrl.*$,detailsUrl=https://www.mozilla.com/en-US/firefox/5.0beta/details/,' {} \;
Remove partial.txt for 4.0b12
All Firefox 4 releases (even 3.7a1) properly support not providing a partial update. Patcher gave us partials for 4.0b12 -> 5.0b1, but nothing else. For consistency remove the partials for 4.0b12:
# cltbld@aus2-staging # staged snippets cd /opt/aus2/snippets/staging find Firefox-5.0b1-build1-4.0b12-build1-MU{,-test} -name 'partial.txt' -exec rm -v {} \; # live snippets cd /opt/aus2/incoming/3/Firefox find 4.0b12/*/*/en-US/{beta,release}test/partial.txt -mtime -7 -exec rm {} \; # repeat in PHX
Push snippets with url and partial fixes
~/bin/backupsnip Firefox-5.0b1-build1-4.0b12-build1-MU-test ~/bin/pushsnip Firefox-5.0b1-build1-4.0b12-build1-MU-test
Mac BuildID issues
bug 654306 is about the Universal builds for 3.7a5 through to 4.0b6 not being offered the update on mac, which is due to the way we handled the changes to the mac builds (adding 64bit). We're offering the 5.0b1 update to the 64bit build instead. Fix:
# cltbld@aus2-staging cd /opt/aus2/snippets/staging/ for d in Firefox-5.0b1-build1-4.0b12-build1-MU{-test,}; do rsync -a ${d}{,-wrongMacBuildID}/ mv -v $d/Firefox/3.7a5/Darwin_Universal-gcc3/{20100610053411,20100610053455} mv -v $d/Firefox/4.0b1/Darwin_Universal-gcc3/{20100630131936,20100630131607} mv -v $d/Firefox/4.0b2/Darwin_Universal-gcc3/{20100720180051,20100720175703} mv -v $d/Firefox/4.0b3/Darwin_Universal-gcc3/{20100805182338,20100805181943} mv -v $d/Firefox/4.0b4/Darwin_Universal-gcc3/{20100818121922,20100818121614} mv -v $d/Firefox/4.0b5/Darwin_x86-gcc3-u-ppc-i386/{20100831070403,20100831070010} mv -v $d/Firefox/4.0b6/Darwin_x86-gcc3-u-ppc-i386/{20100914073111,20100914072643} done ~/bin/backupsnip Firefox-5.0b1-build1-4.0b12-build1-MU-test ~/bin/pushsnip Firefox-5.0b1-build1-4.0b12-build1-MU-test
Major Update Verify
All green except mac, which had some trailing spaces in the update verify config. Fixed that and it was green too. (pm01, category=release-mozilla-2.0-)
Also green on Mac after fix to mac buildIDs.
Permissions and virus check
- virus check - green
- check_permissions - failed on $(find /pub/mozilla.org/firefox/nightly/5.0b1-candidates/build1/ -type f ! -perm 644 | wc -l)"']' returned non-zero exit status 1
- catlee fixed permissions
Socorro product data updates
Someone else had already added Firefox 5.0, saving us the trouble of figuring out what settings to use in this brave new world.
Push to mirrors
# ffxbld@stage.mozilla.org mkdir /pub/mozilla.org/firefox/releases/5.0b1/ # dry-run rsync -avn --exclude=*tests* --exclude=*crashreporter* --exclude=*.log --exclude=*.txt \ --exclude=*unsigned* --exclude=*update-backup* --exclude=*partner-repacks* \ --exclude=*.checksums --exclude=logs \ /pub/mozilla.org/firefox/nightly/5.0b1-candidates/build1/ /pub/mozilla.org/firefox/releases/5.0b1/ # for real rsync -av --exclude=*tests* --exclude=*crashreporter* --exclude=*.log --exclude=*.txt \ --exclude=*unsigned* --exclude=*update-backup* --exclude=*partner-repacks* \ --exclude=*.checksums --exclude=logs /pub/mozilla.org/firefox/nightly/5.0b1-candidates/build1/ /pub/mozilla.org/firefox/releases/5.0b1/
Push snippets to the beta channel
For people to be able to do aurora -> beta we needed to create snippets in a 5.0 dir to get them onto 5.0b1 so needed to copy an existing set of beta snippets and rename (also removed locales other than en-US). I copied the 4.0b7 snippets in /opt/aus2/incoming/3/ to make the 5.0 dir and then removed platforms that were no longer used as well as locales. Then made a copy of those snippets here:
/opt/aus2/snippets/staging/20110504-Firefox-5.0b1-beta/Firefox/5.0
For future betas, do that in reverse order - first do the copying and altering in staging, then pushsnip over to incoming.
We also had to remove theupdateType=majorline of these snippets, so that the billboard wasn't shown on switching to beta.
Push MU snippets to beta channel
First, we had to make sure that we are throttling 50% of requests, patch was landed and deployed.
Then pushed the snippets
# cltbld@aus2-staging - in a screen session time ~/bin/backupsnip Firefox-5.0b1-build1-4.0b12-build1-MU time ~/bin/pushsnip Firefox-5.0b1-build1-4.0b12-build1-MU
Once we were confident there was no spike in crashes we unthrottled the update with this patch, and deployed. (2011-05-09).
Release
No snippets (outside of MU) to push, no bouncer uptake to monitor. Rsyncing to releases dir and pushing the MU snippets was all that was done to "release" this. Throttling will be monitored over the next couple of days and then disabled when sufficient uptake is achieved.