Releases/Firefox 32.0/BuildNotes

From MozillaWiki
Jump to: navigation, search

nthomas - bug 1052412

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