Releases/Firefox 32.0/BuildNotes
nthomas - bug 1052412
Contents
Build 1 / RC 1
Issues Hit
- hg clone issues - mac xulrunner, windows en-US firefox, windows repack 1/10
- single failure in each linux64 and linux update verify - failed to download a complete MAR once due to timeout, there was packet loss between usw2 and scl3 at the time:
27648K ........ ....WARNING: Timeout (300) exceeded, killing process 6298 retry: Failed, sleeping 2 seconds before retrying retry: Calling <function run_with_timeout at 0x7ff607206050> with args: (['wget', '--progress=dot:mega', '--server-response', '--no-check-certificate', '-O', 'update/complete.mar', 'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/32.0-candidates/build1/update/linux-x86_64/en-US/firefox-32.0.complete.mar'], 300, None, None, False, True), kwargs: {}, attempt #3 Executing: ['wget', '--progress=dot:mega', '--server-response', '--no-check-certificate', '-O', 'update/complete.mar', 'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/32.0-candidates/build1/update/linux-x86_64/en-US/firefox-32.0.complete.mar'] --2014-08-26 11:13:02-- http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/32.0-candidates/build1/update/linux-x86_64/en-US/firefox-32.0.complete.mar Resolving stage.mozilla.org... 63.245.215.47 Connecting to stage.mozilla.org|63.245.215.47|:80... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Date: Tue, 26 Aug 2014 15:13:02 GMT Server: Apache X-Backend-Server: ftp8.dmz.scl3.mozilla.com Last-Modified: Tue, 26 Aug 2014 05:45:27 GMT ETag: "4bdedd4-27a5e8e-50181cf89de6c" Accept-Ranges: bytes Content-Length: 41574030 Cache-Control: max-age=3600 Expires: Tue, 26 Aug 2014 16:13:02 GMT Access-Control-Allow-Origin: * Keep-Alive: timeout=5, max=1000 Connection: Keep-Alive Content-Type: application/octet-stream Length: 41574030 (40M) [application/octet-stream] Saving to: 'update/complete.mar' 0K ........ ........ ........ ........ ........ ........ 7% 118K 5m19s 3072K ........ ........ ........ ........ ........ ........ 15% 92.3K 5m33s 6144K ........ ........ ........ ........ ........ ........ 22% 116K 4m52s 9216K ........ ........ ........ ........ ........ ........ 30% 119K 4m17s 12288K ........ ........ ........ ........ ........ ........ 37% 86.1K 4m2s 15360K ........ ........ ........ ........ ........ ........ 45% 101K 3m34s 18432K ........ ........ ........ ........ ........ ........ 52% 93.0K 3m7s 21504K ........ ........ ........ ........ ........ ........ 60% 81.4K 2m42s 24576K ........ ........ ........ ........ ........ ........ 68% 81.4K 2m14s 27648K ........ ........WARNING: Timeout (300) exceeded, killing process 6303 retry: Giving up on <function run_with_timeout at 0x7ff607206050> Unable to successfully run ['wget', '--progress=dot:mega', '--server-response', '--no-check-certificate', '-O', 'update/complete.mar', 'http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/32.0-candidates/build1/update/linux-x86_64/en-US/firefox-32.0.complete.mar'] after 3 attempts Could not download complete! from: http://stage.mozilla.org/pub/mozilla.org/firefox/nightly/32.0-candidates/build1/update/linux-x86_64/en-US/firefox-32.0.complete.mar FAIL: complete from https://aus3.mozilla.org/update/3/Firefox/10.0/20120129021758/Linux_x86_64-gcc3/en-US/betatest/default/default/default/update.xml?force=1 wrong size FAIL: update.xml size: 41574030 FAIL: actual size: 29376875
- Manual download of the file worked fine, but rerunning just to make schedulers simple
- push to mirrors fail when sshd shutdown in sec incident. Deleted firefox/releases/32.0 and reran once we were in the clear
Updates for beta channel
On bug 1052412 there are three patches to generate the partial from 32.0b9 as part of the automation, which simplifies this work quite a bit.
Generate patcher and update verify config
This was done as soon as we had en-US builds for all platforms. 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_32_0_RELEASE/browser/locales/shipped-locales perl tools/release/patcher-config-bump.pl -p firefox -r Firefox -v 32.0 -a 32.0 -o 32.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 32.0b9 --platform linux --platform linux64 \ --platform macosx64 --platform win32 # then some manual modifications: # * url in complete uses product firefox-32.0-build1-complete # * url in <partials><31.0b9> uses firefox-32.0-build1-partial-32.0b9 # * to -> 32.0-build1 # * <32.0> block ——> <32.0-build1>, # ** add mar-channel-ids "mar-channel-ids firefox-mozilla-beta,firefox-mozilla-release" (technically only needed for 33.0b1) # ** pretty version -> 32.0 RC 1 # 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_32_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_32_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_32_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_32_0_RELEASE # fix the to="/path" definitions for f in tools/release/updates/mozBeta-firefox-{linux64,linux,mac64,win32}.cfg; do sed -i '' -e 's,32.0-build1,32.0,g' $f done hg -R tools diff > patch # attach this to bug 1052412 --> attachment 8479011
Setup up bouncer
Was done immediately after configs were generated above, no need to wait.
# add Products: Firefox-32.0-Partial-32.0b9, Firefox-32.0-build1-Complete # add Locations: Product OS Path Firefox-32.0-build1-Partial-32.0b9 win /firefox/candidates/32.0-candidates/build1/update/win32/:lang/firefox-32.0b9-32.0.partial.mar Firefox-32.0-build1-Partial-32.0b9 linux /firefox/candidates/32.0-candidates/build1/update/linux-i686/:lang/firefox-32.0b9-32.0.partial.mar Firefox-32.0-build1-Partial-32.0b9 linux64 /firefox/candidates/32.0-candidates/build1/update/linux-x86_64/:lang/firefox-32.0b9-32.0.partial.mar Firefox-32.0-build1-Partial-32.0b9 osx /firefox/candidates/32.0-candidates/build1/update/mac/:lang/firefox-32.0b9-32.0.partial.mar Firefox-32.0-build1-Complete win /firefox/candidates/32.0-candidates/build1/update/win32/:lang/firefox-32.0.complete.mar Firefox-32.0-build1-Complete linux /firefox/candidates/32.0-candidates/build1/update/linux-i686/:lang/firefox-32.0.complete.mar Firefox-32.0-build1-Complete linux64 /firefox/candidates/32.0-candidates/build1/update/linux-x86_64/:lang/firefox-32.0.complete.mar Firefox-32.0-build1-Complete osx /firefox/candidates/32.0-candidates/build1/update/mac/:lang/firefox-32.0.complete.mar
Generate snippets
Can be done once all platforms have completed l10n.
# generate snippets, on b-linux64-hp-0029 in screen mkdir ~/bug1015968/ cd ~/bug1015968/ hg clone http://hg.mozilla.org/build/tools cd tools wget -O- https://bugzilla.mozilla.org/attachment.cgi?id=8479011 | 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-32.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-32.0-build1-forbeta/
Push test snippets
# ffxbld@aus3-staging pushsnip Firefox-32.0-build1-forbeta-test
Announce to r-d.
Update verify
Can be done once snippet generation above is complete.
Running b-linux64-hp-0029, b-2008-ix-0065, and bld-lion-r5-015
# 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 bug1052412 ; cd $_ hg clone http://hg.mozilla.org/build/tools cd tools wget -O- https://bugzilla.mozilla.org/attachment.cgi?id=8479011 | patch -p1 cd release/updates
On b-linux64-hp-029 see screen 0 for linux32 & screen 1 for linux64; screen on bld-lion-r5-015; vnc on b-2008-ix-0065 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
Mac was truncated because the wrong slave was disabled in slavealloc. Ok to 32.0b9 ro, running ru onwards.
Results, this diff is expected as we want the updated beta build to keep these settings:
succeeded calling QuitProgressUI diff -r source/firefox/defaults/pref/channel-prefs.js target/firefox/defaults/pref/channel-prefs.js 1c1 < //@line 2 "/builds/slave/rel-m-beta-l64_bld-00000000000/build/browser/app/profile/channel-prefs.js" --- > //@line 2 "/builds/slave/rel-m-rel-l64_bld-000000000000/build/browser/app/profile/channel-prefs.js" 6c6 < pref("app.update.channel", "beta"); --- > pref("app.update.channel", "release"); diff -r source/firefox/update-settings.ini target/firefox/update-settings.ini 5c5 < ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release --- > ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release
Push live
# ffxbld@aus3-staging pushsnip Firefox-32.0-build1-forbeta