Releases/Firefox 33.0/BuildNotes
nthomas - bug 1056837
Contents
Beforehand:
- updated extraPartials in release config before ship-it started
Firefox Build 1 / RC1
- uploading bits to apple done
- a couple of lost connections in linux update verify
Updates for beta
- partial form 33.0b9 generated at build time
- bug 1021026 gets us a long way (no bouncer config or snippet generation). The Balrog blog is almost right, need to add this
{ "ftpFilenames": { "partials": { "Firefox-33.0b9-build1": "firefox-33.0b9-33.0.partial.mar" } } }
- did that with new balrog-tweaker script, bug 1079639
python scripts/updates/balrog-tweaker.py --json json -b 'Firefox-33.0-build1' --api-root 'https://aus4-admin.mozilla.org' --credentials-file cred -u 'nthomas@mozilla.com' -v
Update verify
On my laptop ...
cd <parent_of_tools_checkout, updated to tip> export PERL5LIB="tools/lib/perl:$HOME/perl5/lib/perl5" # need Config::General v2.44 wget http://hg.mozilla.org/releases/mozilla-release/raw-file/FIREFOX_33_0_RELEASE/browser/locales/shipped-locales perl tools/release/patcher-config-bump.pl -p firefox -r Firefox -v 33.0 -a 33.0 -o 33.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 33.0b9 --platform linux --platform linux64 \ --platform macosx64 --platform win32
Skip all the modification we did last time, since we're not generating snippets here.
# 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 beta-cdntest -t FIREFOX_33_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 beta-cdntest -t FIREFOX_33_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 beta-cdntest -t FIREFOX_33_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 beta-cdntest -t FIREFOX_33_0_RELEASE hg -R tools/ diff tools/release/updates > patch
Attached to bug 1056837 as attachment 8501462.
Run the tests:
# linux32 setup; others don't need anything sh -c 'rm -f /builds/mock_mozilla/mozilla-centos6-x86_64/buildroot.lock; mock_mozilla -r mozilla-centos6-x86_64 --orphanskill' mock_mozilla -r mozilla-centos6-x86_64 --init mock_mozilla -r mozilla-centos6-x86_64 --install autoconf213 python zip mozilla-python27-mercurial git ccache glibc-static.i686 libstdc++-static.i686 perl-Test-Simple perl-Config-General gtk2-devel.i686 libnotify-devel.i686 yasm alsa-lib-devel.i686 libcurl-devel.i686 wireless-tools-devel.i686 libX11-devel.i686 libXt-devel.i686 mesa-libGL-devel.i686 gnome-vfs2-devel.i686 GConf2-devel.i686 wget mpfr xorg-x11-font* imake gcc45_0moz3 gcc454_0moz1 gcc472_0moz1 gcc473_0moz1 yasm ccache valgrind pulseaudio-libs-devel.i686 gstreamer-devel.i686 gstreamer-plugins-base-devel.i686 glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 ORBit2-devel.i686 atk-devel.i686 cairo-devel.i686 check-devel.i686 dbus-devel.i686 dbus-glib-devel.i686 fontconfig-devel.i686 glib2-devel.i686 hal-devel.i686 libICE-devel.i686 libIDL-devel.i686 libSM-devel.i686 libXau-devel.i686 libXcomposite-devel.i686 libXcursor-devel.i686 libXdamage-devel.i686 libXdmcp-devel.i686 libXext-devel.i686 libXfixes-devel.i686 libXft-devel.i686 libXi-devel.i686 libXinerama-devel.i686 libXrandr-devel.i686 libXrender-devel.i686 libXxf86vm-devel.i686 libdrm-devel.i686 libidn-devel.i686 libpng-devel.i686 libxcb-devel.i686 libxml2-devel.i686 pango-devel.i686 perl-devel.i686 pixman-devel.i686 zlib-devel.i686 freetype-2.3.11-6.el6_1.8.i686 freetype-devel-2.3.11-6.el6_1.8.i686 freetype-2.3.11-6.el6_1.8.x86_64 mock_mozilla -r mozilla-centos6-x86_64 --cwd /builds/slave --unpriv --shell 'PATH="/tools/buildbot/bin:/usr/local/bin:/usr/lib/ccache:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/tools/git/bin:/tools/python27/bin:/tools/python27-mercurial/bin:/home/cltbld/bin" bash' # end linux32 setup mkdir bug1056837 ; cd $_ hg clone http://hg.mozilla.org/build/tools cd tools wget -O- https://bugzilla.mozilla.org/attachment.cgi?id=8501462 | patch -p1 cd release/updates
On b-linux64-hp-0028 see screen 0 for linux32 & screen 1 for linux64; screen on bld-lion-r5-061; vnc on b-2008-ix-0084 Adjust to right config for each platform (linux64 vs linux vs mac64 vs win32)
./verify.sh -c mozBeta-firefox-linux64.cfg 2>&1 | tee log
Results - a harmless comment, expected difference in channel and ACCEPTED_MAR_CHANNEL_IDS
diff -r source/bin/defaults/pref/channel-prefs.js target/bin/defaults/pref/channel-prefs.js 1c1 < //@line 2 "c:\builds\moz2_slave\rel-m-beta-w32_bld-00000000000\build\browser\app\profile\channel-prefs.js" --- > //@line 2 "c:\builds\moz2_slave\rel-m-rel-w32_bld-000000000000\build\browser\app\profile\channel-prefs.js" 6c6 < pref("app.update.channel", "beta"); --- > pref("app.update.channel", "release"); diff -r source/bin/update-settings.ini target/bin/update-settings.ini 5c5 < ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release --- > ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release WARN: non-binary files found in diff WARN: check_updates returned warning for WINNT_x86-msvc downloads/Firefox Setup 33.0b9.exe vs. downloads/Firefox Setup 33.0.exe: 2
Pushing to beta
Once QA signs off, we should push to beta by adjusting a rule in Balrog instead of running pushsnip. Steps:
- load the rules page
- put 'Firefox-33.0b9-build1' in the search box. This should match only one rule, for channel=beta & product=Firefox
- change the 'Mapping' to 'Firefox-33.0-build1', and click update
Quick verification
- wait 1 minute for caching to expire
- load https://aus4.mozilla.org/update/3/Firefox/33.0/20141002185629/Darwin_x86_64-gcc3-u-i386-x86_64/ach/beta/default/default/default/update.xml and verify that 33.0 is being offered (that's 33.0b9, so nothing offered before the rule is changed)
Modify whatsnew pages for release updates
bug 1057460 asks for whatsnew pages for versions < 29.0, but not for higher, to show the Australis tour to those just updating to an Australis build. The patcher config has whatsnew turned on for all versions, so we need to post-process the snippets for >= 29.0.
# ffxbld@aus3-staging cd /opt/aus2/snippets # fix up the test snippets mkdir -p staging/Firefox-33.0-build1-test-fixed-whatsnew/Firefox rsync -a pushed/Firefox-33.0-build1-test/Firefox/{29.0*,30.0*,31.0*,32.0*} staging/Firefox-33.0-build1-test-fixed-whatsnew/Firefox/ find staging/Firefox-33.0-build1-test-fixed-whatsnew -type f -exec sed -i -e '/^openURL/d' -e 's,^actions=showURL,actions=silent,' {} \; diff -ru pushed/Firefox-33.0-build1-test/ staging/Firefox-33.0-build1-test-fixed-whatsnew | less ~/bin/pushsnip Firefox-33.0-build1-test-fixed-whatsnew # fix up the release snippets mkdir -p staging/Firefox-33.0-build1.bak/Firefox rsync -a staging/Firefox-33.0-build1/Firefox/{29.0*,30.0*,31.0*,32.0*} staging/Firefox-33.0-build1.bak/Firefox/ find staging/Firefox-33.0-build1/Firefox/{29.0*,30.0*,31.0*,32.0*} -type f -exec sed -i -e '/^openURL/d' -e 's,^actions=showURL,actions=silent,' {} \; diff -ru staging/Firefox-33.0-build1.bak staging/Firefox-33.0-build1 | less rm -rf staging/Firefox-33.0-build1.bak
Undo accidental push
bhearsum accidentally pushed the release channel snippets live around 2:30pm eastern on October 8th. QE caught this shortly afterwards, and he fixed it up with the following:
cd /opt/aus2/incoming/3 # This chmod is what I did, but I should've chmod /opt/aus2/incoming/3 instead # Chmoding Firefox means the first "pushsnip" resets the permissions, which makes updates live again before all of the fixed snippets are in place. chmod 000 Firefox # Delete all of the 32.0.3 snippets, which point at 33.0 rm -rf Firefox/32.0.3 # Delete the single arch Darwin snippets, which won't be overwritten below, because this is the first time we generated them find . -maxdepth 2 -mindepth 2 -name Darwin_x86_64-gcc3 -exec rm -rf {} \; find . -maxdepth 2 -mindepth 2 -name Darwin_x86-gcc3 -exec rm -rf {} \; cd /opt/aus2/snippets/pushed mv Firefox-32.0.3-build1 /opt/aus2/snippets/staging/Firefox-32.0.3-build1-again mv Firefox-33.0-build1{,-test,-test-fixed-whatsnew} /opt/aus2/snippets/staging cd /opt/aus2/snippets/staging mv Firefox-33.0-build1{,-again} mv Firefox-33.0-build1-test{,-again} mv Firefox-33.0-build1-test-fixed-whatsnew{,-again} # Repush the 32.0.3 snippets, to point 32.0.2 and earlier at 32.0.3 again ~/bin/pushsnip Firefox-32.0.3-build1-again # Repush the 33.0 test snippets, to point betatest/releasetest at 33.0 again ~/bin/pushsnip Firefox-33.0-build1-test-again ~/bin/pushsnip Firefox-33.0-build1-test-fixed-whatsnew-again
Fennec Build 1
No issues.
Firefox Build 2 / RC2
- build normal
- uploading to apple done
- not shipping to beta channel, no extra work to do around that
Modify whatsnew pages for release updates
Rerun of build1, with s/build1/build2 and fix to include build1 -> build2 snippets
# ffxbld@aus3-staging cd /opt/aus2/snippets # fix up the test snippets mkdir -p staging/Firefox-33.0-build2-test-fixed-whatsnew/Firefox rsync -a pushed/Firefox-33.0-build2-test/Firefox/{29.0*,3*} staging/Firefox-33.0-build2-test-fixed-whatsnew/Firefox/ find staging/Firefox-33.0-build2-test-fixed-whatsnew -type f -exec sed -i -e '/^openURL/d' -e 's,^actions=showURL,actions=silent,' {} \; diff -ru pushed/Firefox-33.0-build2-test/ staging/Firefox-33.0-build2-test-fixed-whatsnew | less ~/bin/pushsnip Firefox-33.0-build2-test-fixed-whatsnew # fix up the release snippets mkdir -p staging/Firefox-33.0-build2.bak/Firefox rsync -a staging/Firefox-33.0-build2/Firefox/{29.0*,3*} staging/Firefox-33.0-build2.bak/Firefox/ find staging/Firefox-33.0-build2/Firefox/{29.0*,3*} -type f -exec sed -i -e '/^openURL/d' -e 's,^actions=showURL,actions=silent,' {} \; diff -ru staging/Firefox-33.0-build2.bak staging/Firefox-33.0-build2 | less rm -rf staging/Firefox-33.0-build2.bak
Fennec Build 2
No issues.