Releases/Firefox 6.0b2/BuildNotes

From MozillaWiki
Jump to: navigation, search

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
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

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