Releases/Firefox 28.0b1/BuildNotes
who mgerva, nthomas tracking bug: 967312 bug hit: 967452
Contents
desktop
build 1
repacks: linux64: 1,2,3,4,5,8 linux: 2,9 failed between ~11:30-12:00 CET because of network errors
All repacks have been re kicked and completed successfully
update verify:
- mac 3/6 failed with a network error
- windows 3/6 failed with
SOURCE DIRECTORY ../../update DESTINATION DIRECTORY . failed: 22 calling QuitProgressUI FAIL: update status was not succeeded: failed: 22 FAIL: check_updates returned failure for WINNT_x86-msvc downloads/Firefox Setup 27.0.exe vs. downloads/Firefox Setup 28.0b1.exe: 1
This is from bug 908134 testing updates from 27.0 (the release build), without making it accept mar files tagged for beta. Redid this test separately after generating partials (see below).
build 2
- no issues with build
- update verify failed on win32 3/6
- same as build 1 bug 908134, not rerunning
- update verify failed on linux 2/6
- DNS failure for aus3.m.o for 24.0b9 he only -- URL does exist (manual check), so assume transient network error
- retriggered build & notified qa & r-d -- will have ~10 hour run time
- cancelled after it retested the failure
- bug 949290 for the slow checks in AWS
- double checked scheduler 4062 in buildbot scheduler db (release-mozilla-beta-ready-for-release) - only waiting for the two update verify failures above, so forced the builder.
Generate 27.0 --> 28.0b1 partial updates
Updated for build2, see page history for build1
# using bld-centos6-hp-009 mkdir -p ~/nthomas/bug908134/ cd ~/nthomas/bug908134/ 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=8370664
# make sure enough disk space is free python ~/nthomas/bug908134/tools/buildfarm/maintenance/purge_builds.py -s 40 -n 'rel-*:45d' -n 'tb-rel-*:45d' /builds/slave
# in screen generate partial updates # once the linux64 en-US build finishes we can get the utils we need, and then start each platform as it hits the 'All builds available' email time python -u repack.py -f 27.0-build1 -t 28.0b1-build2 -T 28.0b1-build2 --no-completes --no-snippets -P mac 2>&1 | tee mac.log time python -u repack.py -f 27.0-build1 -t 28.0b1-build2 -T 28.0b1-build2 --no-completes --no-snippets --no-env -P linux-i686 2>&1 | tee linux32.log time python -u repack.py -f 27.0-build1 -t 28.0b1-build2 -T 28.0b1-build2 --no-completes --no-snippets --no-env -P linux-x86_64 2>&1 | tee linux64.log time python -u repack.py -f 27.0-build1 -t 28.0b1-build2 -T 28.0b1-build2 --no-completes --no-snippets --no-env -P win32 2>&1 | tee win32.log
# fix permissions and upload to stage find repacked/ -type f -exec chmod 644 {} \; find repacked/ -type d -exec chmod 755 {} \; rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_dsa' \ repacked/28.0b1-candidates/build2/ \ ffxbld@stage.mozilla.org:/pub/mozilla.org/firefox/candidates/28.0b1-candidates/build2/ # reran check_permissions builder to make sure all is correct.
# run av scan on partials, anyone on stage cd /pub/mozilla.org/firefox/candidates/28.0b1-candidates/build2/update nice ionice -c2 -n7 extract_and_run_command.py -j2 clamdscan -m --no-summary -- \ `find . -name firefox-27.0-28.0b1.partial.mar` 2>&1 | tee /tmp/av.log
# modified tools/release/patcher-configs/mozBeta-branch-patcher2.cfg to ## have a <27.0> block in <partials>, but no others ## no past-update lines # modified update verify harness and configs cd tools hg pull hg up -r b9bac3e78c42 # == FIREFOX_28_0b1_RELEASE_RUNTIME wget -O- https://bugzilla.mozilla.org/attachment.cgi?id=8371290 | 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 rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_dsa' aus2.test/ ffxbld@aus3-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-28.0b1-build2-for27.0-test/ rsync -av -e 'ssh -i /home/cltbld/.ssh/ffxbld_dsa' aus2/ ffxbld@aus3-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-28.0b1-build2-for27.0/
# on aus3-staging ~/bin/pushsnip Firefox-28.0b1-build2-for27.0-test
# update verify, manual launch on appropriate slaves, eg # linux32 is special: need a slave that last did a 32bit build in the mock env 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' # other platforms: no special action # all: mkdir nthomas; cd $_ hg clone http://hg.mozilla.org/build/tools cd tools hg up -r b9bac3e78c42 # == FIREFOX_28_0b1_RELEASE_RUNTIME wget -O- https://bugzilla.mozilla.org/attachment.cgi?id=8371290 | patch -p1 cd release/updates # modify .cfg file for platform ./verify.sh -c mozBeta-firefox-linux64.cfg 2>&1 | tee log
Results, the same for all platforms and locales except for path in comment
diff -r source/firefox/defaults/pref/channel-prefs.js target/firefox/defaults/pref/channel-prefs.js 1c1 < //@line 2 "/builds/slave/rel-m-rel-lx_bld-0000000000000/build/browser/app/profile/channel-prefs.js" --- > //@line 2 "/builds/slave/rel-m-beta-lx_bld-000000000000/build/browser/app/profile/channel-prefs.js" 6c6 < pref("app.update.channel", "release"); --- > pref("app.update.channel", "beta"); WARN: non-binary files found in diff WARN: check_updates returned warning for Linux_x86-gcc3 downloads/firefox-27.0.tar.bz2 vs. downloads/firefox-28.0b1.tar.bz2: 2
Which is fine - we're starting with a release build so the channel should be different. Key thing is that update-settings.ini has no diff, nor any other file.
# back on the hp box # NB: build1 on only, skipped for build2 as had generated before the push to mirrors started # push the mar files into firefox/releases/28.0b1/, for releasetest & beta channels ssh -l ffxbld -i /home/cltbld/.ssh/ffxbld_dsa stage.mozilla.org rsync -av --exclude=*tests* --exclude=*crashreporter* --exclude=*.log \ --exclude=*.txt --exclude=*unsigned* --exclude=*update-backup* --exclude=*partner-repacks* --exclude=*.checksums --exclude=*.checksums.asc \ --exclude=logs --exclude=jsshell* --exclude=host --exclude=*.json --exclude=*mar-tools* --exclude=*.zip --exclude=*.zip.asc \ /pub/mozilla.org/firefox/candidates/28.0b1-candidates/build2/ /pub/mozilla.org/firefox/releases/28.0b1/
(build1 only) Setup a Firefox-28.0b1-partial-27.0 product in bouncer, based on firefox-28.0b1-partial-27.0b9 with tweaked locations.
Run final verify:
bash final-verification.sh mozBeta-firefox-linux.cfg mozBeta-firefox-linux64.cfg mozBeta-firefox-mac64.cfg mozBeta-firefox-win32.cfg 2>&1 | tee fv.log
Collect logs and upload to candidates dir, renamed so look for matches to manual_*.
Pushsnip
When it comes time to push to the beta channel, and supposing QA finds no issues with updates from 27.0, we need to publish two dirs
- Firefox-28.0b1-build2 (as usual)
- Firefox-28.0b1-build2-for27.0 (for the partial updates from the 27.0 release build)
mobile
all repacks failed with a connection error: "certificate common name “ftp.mozilla.org” doesn’t match requested host name “ftp-ssl.mozilla.org" updated mozharness to fix this issue