Releases/Firefox 17.0b6/BuildNotes
Check list
-
Ship the l10n milestone DESKTOP MOBILE RELEASE BETA -
Release:Release_Automation_on_Mercurial:Starting_a_Release#Land_patches_and_reconfig Land patches and reconfigDESKTOP MOBILE RELEASE BETA ESR -
Start the automation DESKTOP MOBILE RELEASE BETA ESR -
Sign Android builds MOBILE RELEASE BETA -
Publish Fennec MOBILE RELEASE BETA -
Run pushsnip DESKTOP RELEASE BETA ESR -
Update bouncer links DESKTOP BETA -
Post-release tasks DESKTOP RELEASE BETA ESR
Notes
Build 1
Ship the l10n milestone
Milestones were created and shipped on Nov 12 when the initial go-to-build was given. Due to late breaking code issues, we didn't actually start the release until the morning of the 13th.
Update configs, reconfig, start the automation
Release Kickoff/Runner was used for all of this. It worked 100% fine, except that because of problems with Thunderbird we had to back out the Firefox/Fennec configs to try all of the releases again. Once those problems were sorted out the releases started without issue.
Sign Android builds
As cltsign@signing1:
cd ~/signing-work/mozharness hg pull -u && hg up -C cd .. python2.6 mozharness/scripts/sign_android.py --config-file signing/android_mozilla-beta.py
Accidentally ran this before repacks had finished. It managed to sign the en-US builds, but threw a bunch of errors about l10n, like this:
08:02:29 ERROR - Unable to download android:sk unsigned apk! 08:02:29 ERROR - Unable to download android:zh-CN unsigned apk! 08:02:29 ERROR - Unable to download android:lt unsigned apk!
Aki told me that the signing scripts are safely rerunnable, so I reran the same commands after the repacks had finished.
Fix schedulers that didn't fire correctly
On Wednesday morning, I noticed that updates still weren't ready. I looked through my e-mail and confirmed that I had received all of the "all $platfrom builds now available" mails. Then I went poking around the database. I found that two of the schedulers with "release-mozilla-beta-linux64_build" as an upstream hadn't been properly updated when it had completed:
| release-mozilla-beta-firefox_deliverables_ready | {"remainingBuilders": ["release-mozilla-beta-linux64_build"], "upstreamBuilders": ["release-mozilla-beta-firefox_source", "release-mozilla-beta-linux_build", "release-mozilla-beta-linux_repack_complete", "release-mozilla-beta-linux64_build", "release-mozilla-beta-linux64_repack_complete", "release-mozilla-beta-win32_build", "release-mozilla-beta-win32_repack_complete", "release-mozilla-beta-macosx64_build", "release-mozilla-beta-macosx64_repack_complete"], "lastReset": 1352817804.972043, "lastCheck": 1352843283} | | release-mozilla-beta-firefox_signing_done | {"remainingBuilders": ["release-mozilla-beta-linux64_build"], "upstreamBuilders": ["release-mozilla-beta-linux_build", "release-mozilla-beta-linux_repack_complete", "release-mozilla-beta-linux64_build", "release-mozilla-beta-linux64_repack_complete", "release-mozilla-beta-win32_build", "release-mozilla-beta-win32_repack_complete", "release-mozilla-beta-macosx64_build", "release-mozilla-beta-macosx64_repack_complete"], "lastReset": 1352817804.9652419, "lastCheck": 1352843283} |
However, the "release-mozilla-beta-linux64_repack" scheduler worked fine.
| release-mozilla-beta-linux64_repack | {"remainingBuilders": ["release-mozilla-beta-linux64_build", "release-mozilla-beta-firefox_tag_l10n"], "upstreamBuilders": ["release-mozilla-beta-linux64_build", "release-mozilla-beta-firefox_tag_l10n"], "lastCheck": 1335386373}
This is very confusing, because these schedulers would've been updated right at the same time after the linux64 build completed.
To fix things up, manually altered the state of the broken schedulers:
update schedulers set state='{"remainingBuilders": [], "upstreamBuilders": ["release-mozilla-beta-linux_build", "release-mozilla-beta-linux_repack_complete", "release-mozilla-beta-linux64_build", "release-mozilla-beta-linux64_repack_complete", "release-mozilla-beta-win32_build", "release-mozilla-beta-win32_repack_complete", "release-mozilla-beta-macosx64_build", "release-mozilla-beta-macosx64_repack_complete"], "lastReset": 1352817804.9652419, "lastCheck": 1352843283}' where name='release-mozilla-beta-firefox_signing_done'; update schedulers set state='{"remainingBuilders": [], "upstreamBuilders": ["release-mozilla-beta-firefox_source", "release-mozilla-beta-linux_build", "release-mozilla-beta-linux_repack_complete", "release-mozilla-beta-linux64_build", "release-mozilla-beta-linux64_repack_complete", "release-mozilla-beta-win32_build", "release-mozilla-beta-win32_repack_complete", "release-mozilla-beta-macosx64_build", "release-mozilla-beta-macosx64_repack_complete"], "lastReset": 1352817804.972043, "lastCheck": 1352843283}' where name='release-mozilla-beta-firefox_deliverables_ready';
Filed bug 811708 to hopefully track down the scheduling issue.
Push to the beta channel
# ffxbld@aus3-staging cd /opt/aus2/snippets/staging ~/bin/pushsnip Firefox-17.0b6-build1
Update Bouncer
Updated the "firefox-beta-latest" location to point at 17.0b6.
Post release
Started the postrelease builder with "force build".
Build 2 (Fennec only)
Release runner wasn't working when the go came, so I had to do this by hand.
Start the release
- Landed config updates, tagged buildbot-configs/buildbotcustom/tools, and reconfiged build+scheduler masters
- Ran release sanity on bm36:
cd /builds/buildbot/build_scheduler/master source ../bin/activate PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u bhearsum \ -V 17.0b6 --branch mozilla-beta --build-number 2 \ --release-config release-fennec-mozilla-beta.py --products fennec \ --dryrun localhost:9301
- Passed, ran again without --dryrun to start the release
Sign Android builds
As cltsign@signing1:
cd ~/signing-work/mozharness hg pull -u && hg up -C cd .. python2.6 mozharness/scripts/sign_android.py --config-file signing/android_mozilla-beta.py
Publish Android builds
As ffxbld@stage:
curl -O http://hg.mozilla.org/build/braindump/raw-file/tip/releases-related/push_fennec.sh chmod +x push_fennec.sh ./push_fennec.sh