Releases/Firefox 6.0b2/BuildNotes
From MozillaWiki
< Releases
Contents
- 1 Notes About Releasing
- 2 Bugs hit
- 3 Build Engineers
- 4 Signed-off Revision(s)
- 5 L10N changesets
- 6 Tags
- 7 Build data
- 8 Notes
- 8.1 Build 1
- 8.2 Tag
- 8.3 Bouncer Submitter
- 8.4 Source
- 8.5 Start autosign
- 8.6 Build
- 8.7 Repacks
- 8.8 Firefox Signing
- 8.9 Android Signing
- 8.10 Maemo5-GTK repos
- 8.11 L10N verify
- 8.12 Updates
- 8.13 Update verify
- 8.14 Check permissions / AV scan
- 8.15 Push files to internal mirrors
- 8.16 Push to beta
- 8.17 Publish Fennec
- 8.18 Push to external mirrors
Notes About Releasing
Please update the Release:Primer for future releases (bug fixes, changes to automation) as needed
Bugs hit
-
bug 642733 - Release builds of XulRunner 2.0rc2 went to wrong place -
bug 671469 - Android signature verification should run for en-US and multi -
bug 671470 - Fennec release mozconfigs should use -j1 - bug 671474 - Fennec release builders should use the same buildid
Build Engineers
rail - bug 670882
Signed-off Revision(s)
Build 1: bb311256b95b
L10N changesets
Tags
Build # | Branch, Tags | Changeset |
1 | MOBILE60_2011071316_RELBRANCH, FENNEC_6_0b2_RELEASE, FENNEC_6_0b2_BUILD1 | f7cf19257e60 |
GECKO60_2011071316_RELBRANCH, FIREFOX_6_0b2_BUILD1 FIREFOX_6_0b2_RELEASE | ea7034005498 |
Build data
Firefox
Build # | Type | Build ID | Build machine | Time to build |
1 | Linux | 20110713171652 | mv-moz2-linux-ix-slave15 | 2 hrs, 13 mins, 53 secs |
Linux64 | moz2-linux64-slave11 | 4 hrs, 42 mins, 44 secs | ||
Mac | moz2-darwin10-slave27 | 4 hrs, 15 mins, 13 secs | ||
Windows | mw32-ix-slave13 | 2 hrs, 42 mins, 48 secs |
Fennec
Build # | Type | Build ID | Build machine | Time to build |
1 | android | 20110713153456 | mv-moz2-linux-ix-slave04 | 43 mins, 15 secs |
maemo5-gtk | 20110713172139 | mv-moz2-linux-ix-slave05 | 55 mins, 56 secs | |
linux | 20110713181813 | linux-ix-slave15 | 1 hrs, 7 mins, 16 secs | |
macosx | 20110713192707 | bm-xserve15 | 1 hrs, 58 mins, 5 secs | |
win32 | 20110713181455 | mw32-ix-slave12 | 1 hrs, 17 mins, 24 secs |
Notes
Build 1
- commited mozharness Fennec debsign configs patch
- tagged mozharness using
hg tag FIREFOX_6_0b2_BUILD1 FIREFOX_6_0b2_RELEASE FENNEC_6_0b2_BUILD1 FENNEC_6_0b2_RELEASE
- hit ship for Firefox 6 beta build 2 and Fennec 6 beta build 2 https://l10n-stage-sj.mozilla.org/shipping/milestones
- buildbot-configs
- imported Firefox config patch
- updated mozilla/l10n-changesets_mobile-beta.json
- updated mozilla/l10n-changesets_mozilla-beta
- commited to default
- merged to production
- tagged using FIREFOX_6_0b2_BUILD1 FIREFOX_6_0b2_RELEASE FENNEC_6_0b2_BUILD1 FENNEC_6_0b2_RELEASE
- merged buildbotcustom to production-0.8 and tagged used FIREFOX_6_0b2_BUILD1 FIREFOX_6_0b2_RELEASE FENNEC_6_0b2_BUILD1 FENNEC_6_0b2_RELEASE
- tagged tools using FIREFOX_6_0b2_BUILD1 FIREFOX_6_0b2_RELEASE FENNEC_6_0b2_BUILD1 FENNEC_6_0b2_RELEASE
- reserved 10 slaves on bm08
echo 10 > reserved_slaves_bm08-build1
- added symlinks to release-fennec-mozilla-{beta,release}.py to the master dir on bm08
- pushed this patch to not generate 1.9.2 release objects, merged to production, retagged.
- Marked "Any master", "mozilla-beta", "Any builder" for a clobber
- release sanity noop:
PYTHONPATH=. ../bin/python ../tools/buildbot-helpers/release_sanity.py -u rail \ -V 6.0b2 --branch mozilla-beta --build-number 1 \ -c release-firefox-mozilla-beta.py --dryrun --products firefox,fennec localhost:9001
- start automation:
# buildbot should in in $PATH, source ve env source ../bin/activate PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u rail \ -V 6.0b2 --branch mozilla-beta --build-number 1 \ -c release-firefox-mozilla-beta.py --products firefox,fennec localhost:9001
Tag
No problems.
Bouncer Submitter
No problems
Source
No problems
Start autosign
PRODUCT=firefox VERSION=6.0b2 BUILD=1 TAG=FIREFOX_6_0b2_RELEASE REPO='releases/mozilla-beta' EMAIL=release@mozilla.com KEYDIR=d:/2010-keys RELCONFIG=mozilla/release-firefox-mozilla-beta.py cd ${HOME}/hg-tools/ hg pull && hg up -r ${TAG} mkdir -p ~/signing-work/${PRODUCT}-${VERSION}/lib/python cd ~/signing-work/${PRODUCT}-${VERSION} cp ~/hg-tools/release/signing/* . rsync -av ~/hg-tools/lib/python/ ./lib/python/ make autosign PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} RELCONFIG=${RELCONFIG}
Build
Firefox
No problems
Fennec
Android
No problems
Maemo5-GTK
No problems
Desktop Builds
No problems
Desktop repacks
No problems
XulRunner
- The binaries were uploaded to 6.0-candidates. bug 642733 fixes this for the next releases.
Repacks
Firefox
No problems
Fennec
No problems
Firefox Signing
No problems
Android Signing
- Used this instruction
- copied ~/sign_android.sh to ~/sign_android-0.8.sh
- adjusted variables, changed android-r7 to android
Android Signature Verification
- en-US passed
- had to force multi verification due to bug 671469. Set 'who' property to the apk URL.
Maemo5-GTK repos
- Forced debsign builder
- Got some ignorable errors (no repacks):
18:16:11 ERROR - Can't download http://ftp.mozilla.org/pub/mozilla.org/mobile/candidates/6.0b2-candidates/build1/maemo5-gtk/be/fennec_6.0_armel.deb; skipping be on fremantle
L10N verify
- All l10n verify builders failed due to added 'vi' locale (expected). Examined stdio.
Updates
- 'vi' was dropped in 6.0b1, so no updates were generated for this locale (see bug 384065)
- on mv-moz2-linux-ix-slave15 created the following script as /builds/slave/rel-m-beta-updates/build/temp/firefox/6.0b1-6.0b2/6.0b2_vi.sh:
#!/bin/bash linux_size=15461130 linux64_size=17083581 mac_size=29025455 win32_size=18145956 linux_sha512=01443e13a37a902a24351d2bd623fb00ec0f672a1eb0c409b82ecda9c4356b169606d4bda2ec5d24398cb9db5e2a53373673aefb7a28e91ad680d5663fd1c6eb linux64_sha512=49031a3ba4e1c101b62f548034411d68443fb0b587017128848f635c9b33d37ce9b8088552330bea8cb63537f4713d6efcafb80cd15065518ebd5f1106e1be00 mac_sha512=cc73e3a492688397c81d20b9c0b477579d95e4500ebfed5984636a5d4578347b753924c1ff38f7939a58460a1dce71b7ed657c67edb7e22b6f40f0cc0a56e94e win32_sha512=98d4ef425d4e31a918846a5c76815c9816f88e83652344d18b28df08e6d0de146bee767d9b0fa30133a85694b664e58525c413e5792160c21b781b590104e5cc for v in Firefox/*; do for s in $v/*/*/en-US/*/complete.txt; do ts=${s/en-US/vi} hash= size= if [ -f "$s" -a ! -f "$ts" ]; then td=$(dirname $ts) if [ "$ts" != "${ts/Darwin}" ]; then hash=$mac_sha512 size=$mac_size elif [ "$ts" != "${ts/WINNT}" ]; then hash=$win32_sha512 size=$win32_size elif [ "$ts" != "${ts/Linux_x86_64}" ]; then hash=$linux64_sha512 size=$linux64_size elif [ "$ts" != "${ts/Linux_x86}" ]; then hash=$linux_sha512 size=$linux_size else echo "Unsupported: $ts" exit 1 fi if [ -z $size -o -z $hash ]; then echo "cant find size or hash for $ts" exit 1 fi mkdir -p $td sed -e 's/en-US/vi/g' -e "s/^hashValue=.*/hashValue=$hash/" \ -e "s/^size=.*/size=$size/" $s > $ts cp $ts ${ts/complete/partial} fi done done
- Ran the following:
set -x set -e vi_buildids="20110413222027 20110318052756 20110615151330 20110527093235 20110603100923 20110608151458 20110613165758 20110614174314" cd /builds/slave/rel-m-beta-updates/build/temp/firefox/6.0b1-6.0b2 for sd in aus2.test aus2; do rsync -a ${sd}/ ${sd}.vi/ find ${sd}.vi -mindepth 5 -maxdepth 5 -type d -not -name en-US -exec rm -rf {} \; for d in $(find ${sd}.vi -mindepth 4 -maxdepth 4 -type d); do delete_dir=y for bid in $vi_buildids; do if [ $d != "${d/$bid/}" ]; then delete_dir=n fi done if [ $delete_dir = "y" ]; then rm -rf $d fi done find ${sd}.vi -type d -empty -delete cd ${sd}.vi bash ../6.0b2_vi.sh cd - find ${sd}.vi -mindepth 5 -maxdepth 5 -type d -name en-US -exec rm -rf {} \; done
- synced to aus2-staging
rsync -av aus2.vi/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-6.0b2-build1-vi-only/ rsync -av aus2.test.vi/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/Firefox-6.0b2-build1-test-vi-only/
- on aus2-staging
# merge original + generated snippets cd /opt/aus2/snippets/staging rsync -avP Firefox-6.0b2-build1/ Firefox-6.0b2-build1-plus-vi/ rsync -avP Firefox-6.0b2-build1-vi-only/ Firefox-6.0b2-build1-plus-vi/
- Push test snippets (vi only, other snippets are already pushed by automation)
~/bin/backupsnip Firefox-6.0b2-build1-test-vi-only ~/bin/pushsnip Firefox-6.0b2-build1-test-vi-only
Update verify
No problems.
Check permissions / AV scan
No problems
Push files to internal mirrors
Edit /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude on stage, add 6.0b2 to list of directories to exclude.
After waiting 10 minutes, forced the "release-mozilla-beta-push_to_mirrors" with the following properties:
release_config: mozilla/release-firefox-mozilla-beta.py script_repo_revision: FIREFOX_6_0b2_RELEASE
NOTE: there is no need to set release_config property anymore.
Push to beta
Use the following to push to beta (not done yet, waiting in screen for rsync):
~/bin/backupsnip Firefox-6.0b2-build1-plus-vi ~/bin/pushsnip Firefox-6.0b2-build1-plus-vi
Publish Fennec
Create bouncer entry for maemo
- Added Firefox-Mobile-6.0b2 product
- aded location for maemo: /mobile/releases/maemo/:lang/firefox-beta.install
Push the files
export VERSION=6.0b2 export BUILDNUM=1 export RD=/home/ftp/pub/mozilla.org/mobile/releases export CD=/home/ftp/pub/mozilla.org/mobile/candidates mkdir $RD/$VERSION cd $RD/$VERSION rsync -av --exclude=unsigned --exclude=*.txt --exclude=*crashreporter* \ --exclude=*tests* --exclude=*unaligned* --exclude=*old* --exclude=*install* \ --exclude=*logs* \ $CD/$VERSION-candidates/build$BUILDNUM/ $RD/$VERSION/ for p in linux macosx win32; do locales=`cd $CD/$VERSION-candidates/build$BUILDNUM/$p/; ls -1` for i in $locales; do cp -a $CD/$VERSION-candidates/build$BUILDNUM/$p/$i/install/*.xpi \ $RD/$VERSION/$p/$i done done # repos mkdir $RD/$VERSION/repos rsync -av --exclude=*.install $CD/$VERSION-candidates/repos/ $RD/$VERSION/repos/ # symlink repos rm -f maemo ln -s repos maemo # link fremantle to chinook for multi deb repo cd $RD/$VERSION/maemo/multi/dists ln -s fremantle chinook cd $RD rm -f latest-{beta,alpha} ln -s $VERSION latest-beta ln -s $VERSION latest-alpha
Publish to the Android Market
- downloaded Android multi locale APK
- checked its md5sum
- uploaded to the Android Market
- published
Push to external mirrors
nothing to do here, this is a beta