Releases/Firefox 29.0/BuildNotes
bug 978746 - catlee
Build 1
Issues hit:
- Automation went smoothly for desktop
Updates for beta channel
# using bld-centos6-hp-016 with screen mkdir ~/bug978746 cd ~/bug978746 hg clone http://hg.mozilla.org/build/tools # get a signing token for release certs, 6 hour expiry export PYTHONPATH=tools/lib/python; export PATH=$PATH:`pwd` wget -O repack.py https://bugzilla.mozilla.org/attachment.cgi?id=8389037 # Edit repack.py to comment out call to writeSettingsFile in the partial update generation section # make sure enough disk space is free python ~/bug978746/tools/buildfarm/maintenance/purge_builds.py -s 55 -n 'rel-*:45d' -n 'tb-rel-*:45d' /builds/slave # in separate screen windows, generate other platforms cd ~/bug978746 export PYTHONPATH=tools/lib/python; export PATH=$PATH:`pwd` time python -u repack.py -f 29.0b9-build1 -t 29.0-build1 -T 29.0b9-build1 -P linux-i686 --no-completes 2>&1 | tee linux.log # repeat for these: time python -u repack.py -f 29.0b9-build1 -t 29.0-build1 -T 29.0b9-build1 -P linux-x86_64 --no-env --no-completes 2>&1 | tee linux64.log time python -u repack.py -f 29.0b9-build1 -t 29.0-build1 -T 29.0b9-build1 -P win32 --no-env --no-completes 2>&1 | tee win32.log time python -u repack.py -f 29.0b9-build1 -t 29.0-build1 -T 29.0b9-build1 -P mac --no-env --no-completes 2>&1 | tee mac.log
# fix permissions and upload to stage find repacked/ -type f -exec chmod 644 {} \; find repacked/ -type d -exec chmod 755 {} \; # rsync -n is your friend rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_dsa' \ repacked/29.0-candidates/build1/ \ ffxbld@stage.mozilla.org:/pub/mozilla.org/firefox/candidates/29.0-candidates/build1/ # reran check_permissions builder to make sure all is correct. # run av scan on partials, anyone on stage cd /pub/mozilla.org/firefox/candidates/29.0-candidates/build1/update nice ionice -c2 -n7 extract_and_run_command.py -j2 clamdscan -m --no-summary -- \ `find . -name firefox-29.0b9-29.0.partial.mar` 2>&1 | tee /tmp/av.log
# Generate patcher configs and update verify configs cd <parent_of_tools_checkout> export PERL5LIB="tools/lib/perl:$HOME/perl5" # need Config::General v2.44 wget http://hg.mozilla.org/releases/mozilla-release/raw-file/FIREFOX_29_0_RELEASE/browser/locales/shipped-locales perl tools/release/patcher-config-bump.pl -p firefox -r Firefox -v 29.0 -a 29.0 -o 29.0b9 -b 1 \ -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg -t stage.mozilla.org -f ftp.mozilla.org \ -d download.mozilla.org -l shipped-locales --partial-version 29.0b9 --platform linux --platform linux64 \ --platform macosx64 --platform win32 # then some manual modifications <29.0> block ——> <29.0-build1>, to -> 29.0-build1, add mar-channel-ids, pretty version # generate update verify configs python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform linux64 --output tools/release/updates/mozBeta-firefox-linux64.cfg --release-config-file mozilla/release-firefox-mozilla-release.py -b https://hg.mozilla.org/build/buildbot-configs --channel releasetest -t FIREFOX_29_0_RELEASE python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform linux --output tools/release/updates/mozBeta-firefox-linux.cfg --release-config-file mozilla/release-firefox-mozilla-release.py -b https://hg.mozilla.org/build/buildbot-configs --channel releasetest -t FIREFOX_29_0_RELEASE python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform macosx64 --output tools/release/updates/mozBeta-firefox-mac64.cfg --release-config-file mozilla/release-firefox-mozilla-release.py -b https://hg.mozilla.org/build/buildbot-configs --channel releasetest -t FIREFOX_29_0_RELEASE python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozBeta-branch-patcher2.cfg --platform win32 --output tools/release/updates/mozBeta-firefox-win32.cfg --release-config-file mozilla/release-firefox-mozilla-release.py -b https://hg.mozilla.org/build/buildbot-configs --channel releasetest -t FIREFOX_29_0_RELEASE # hand edit to make the following changes: # - fix "to" variable to point at valid candidates directory
# generate snippets (on bld-centos6-hp-016): cd /home/cltbld/bug978746/tools hg pull hg up -r FIREFOX_29_0_RELEASE_RUNTIME wget -O- https://bugzilla.mozilla.org/attachment.cgi?id=8410637 | patch -p1 cd .. export PYTHONPATH="tools/lib/python:tools/lib/python/vendor" python tools/scripts/updates/create-snippets.py --config tools/release/patcher-configs/mozBeta-branch-patcher2.cfg \ --checksums-dir checksums --snippet-dir aus2 --test-snippet-dir aus2.test -v 2>&1 | tee snippets.log
# ditch the betatest snippets, we're going to use releasetest only before pushing to beta rm -rf aus2.test/Firefox/*/WIN*/*/*/betatest rm -rf aus2.test/Firefox/*/Lin*/*/*/betatest rm -rf aus2.test/Firefox/*/Dar*/*/*/betatest
# Sync to aus3-staging rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_dsa' aus2.test/ \ ffxbld@aus3-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-29.0-build1-forbeta-test/ rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_dsa' aus2/ \ ffxbld@aus3-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-29.0-build1-forbeta/
# Bouncer setup (to match patcher config) # add Products: Firefox-29.0-Partial-29.0b9, Firefox-29.0-build1-complete # add Locations: 4 locations for each (1 per OS)
# push test snippets live, on aus3-staging ~/bin/pushsnip Firefox-29.0-build1-forbeta-test
# Update verify # All platforms except linux32: mkdir bug978746 ; cd $_ hg clone http://hg.mozilla.org/build/tools cd tools hg up -r FIREFOX_29_0_RELEASE_RUNTIME wget -O- https://bugzilla.mozilla.org/attachment.cgi?id=8410637 | patch -p1 cd release/updates # use correct .cfg file for platform ./verify.sh -c mozBeta-firefox-linux64.cfg 2>&1 | tee log
For posterity, both linux update verifies were run on bld-centos6-hp-016 (64-bit outside of mock, 32-bit inside of mock). bld-lion-r5-005 was used for Mac. w64-ix-slave21 was used for Windows.
# push beta snippets live, on aus3-staging ~/bin/pushsnip Firefox-29.0-build1-forbeta
Funnelcake
We're running two funnelcake experiments as part of Firefox 29: funnelcake 30,31 (bug 976735)
Funnelcake repacks were created as part of release automation, with the exception of linux64, which wasn't initially requested. Rail created and uploaded the linux64 repacks manually.
I created bouncer entries for the funnelcake installers:
- https://bounceradmin.mozilla.com/admin/mirror/product/3148/ (Firefox-29.0-SSL-f30)
- https://bounceradmin.mozilla.com/admin/mirror/product/3149/ (Firefox-29.0-SSL-f31)
We also needed stub installers for windows. I created those on w64-ix-slave136 (which did the release builds), following the instructions https://bug933847.bugzilla.mozilla.org/attachment.cgi?id=8338878. I used https://bug976735.bugzilla.mozilla.org/attachment.cgi?id=8411340 to patch the stub installer files to include the funnelcake identifiers. The stubs are available in the partner repack directories beside the full installers.
I also created bouncer entries for the stub installers:
- https://bounceradmin.mozilla.com/admin/mirror/product/3152/ (Firefox-stub-f30)
- https://bounceradmin.mozilla.com/admin/mirror/product/3153/ (Firefox-stub-f31)
As well as entries for the products that the stub requests:
- https://bounceradmin.mozilla.com/admin/mirror/product/3150/ (Firefox-latest-f30)
- https://bounceradmin.mozilla.com/admin/mirror/product/3151/ (Firefox-latest-f31)
These last two must not have the SSL box checked.
Push live
# ffxbld@stage rsync -av /pub/mozilla.org/firefox/candidates/29.0-candidates/build1/partner-repacks/funnelcake30/ \ /pub/mozilla.org/firefox/releases/29.0-funnelcake30/ rsync -av /pub/mozilla.org/firefox/candidates/29.0-candidates/build1/partner-repacks/funnelcake31/ \ /pub/mozilla.org/firefox/releases/29.0-funnelcake31/ for d in `find /pub/mozilla.org/firefox/releases/29.0-funnelcake3{0,1} -type d`; do cp /pub/mozilla.org/firefox/releases/29.0/index.html $d done
Then update all the bouncer links above to point to new location.
Release day
Manually updated bouncer links for "firefox-stub" and "firefox-latest" since QA signoff was delayed.
Zeus caching of AUS made it a bit more difficult to test the updates after unthrottling.