Releases/Firefox 6.0b4/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 675286 - stop running debsign on locales other than en-US and multi
  • bug 676013 - setupBuild exception on l10n verify

Build Engineers

lsblakk - bug 674329

Signed-off Revision(s)

Build 1: d66a5a76f6ba

L10N changesets

Tags

Build # Branch, Tags Changeset
1 MOBILE60_2011072907_RELBRANCH, FENNEC_6_0b4_RELEASE, FENNEC_6_0b4_BUILD1 ed3dddf33b76
GECKO60_2011072907_RELBRANCH, FIREFOX_6_0b4_BUILD1 FIREFOX_6_0b4_RELEASE f83956d23621

Build data

Firefox

Build # Type Build ID Build machine Time to build
1 Linux 20110729080751 mv-moz2-linux-ix-slave21 2 hrs, 13 mins
Linux64 moz2-linux64-slave02 2 hrs, 23 mins
Mac moz2-darwin10-slave53 4 hrs, 6 mins
Windows mw32-ix-slave03 2 hrs, 46 mins

Fennec

Build # Type Build ID Build machine Time to build
1 android 20110729072045 mv-moz2-linux-ix-slave04 1 hrs, 36 mins
maemo5-gtk 20110729084310 mv-moz2-linux-ix-slave15 1 hrs, 28 mins
linux 20110729091122 linux-ix-slave15 1 hrs, 6 mins
macosx 20110729095147 bm-xserve11 2 hrs, 3 mins
win32 20110729090924 mw32-ix-slave09 1 hrs, 16 mins

Notes

Build 1

# in /builds/buildbot/build1/master
echo 10 > reserved_slaves_bm08-build1 
# in /builds/buildbot/build1
make update

release_sanity no-op:

PYTHONPATH=. ../bin/python ../tools/buildbot-helpers/release_sanity.py -u lsblakk \
-V 6.0b4 --branch mozilla-beta --build-number 1 -c release-firefox-mozilla-beta.py \
--dryrun --products firefox,fennec localhost:9001

start automation in /builds/buildbot/build1:

source bin/activate && PYTHONPATH=. ../bin/python ../tools/buildbot-helpers/release_sanity.py \
-u lsblakk -V 6.0b4 --branch mozilla-beta --build-number 1 -c release-firefox-mozilla-beta.py \ 
--products firefox,fennec localhost:9001
    • Notes: because the first release_sanity got stuck on the reconfig I went in and did another reconfig which completed and should have freed up release_sanity but because the virtualenv wasn't activated that initial sendchange attempt failed. I commented out reconfig() from release_sanity and ran it a second time with the sourced virtualenv.

Tag

No problems

Bouncer Submitter

No problems

Source

No problems

Start autosign

PRODUCT=firefox
VERSION=6.0b4
BUILD=1
TAG=FIREFOX_6_0b4_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

Source

No problems

Build

No Problems

Signing

On keymaster:

PRODUCT=xulrunner
VERSION=6.0b4
BUILD=1
TAG=FIREFOX_6_0b4_RELEASE
REPO="releases/mozilla-beta"
EMAIL=release@mozilla.com
KEYDIR=d:/2010-keys

cd ~/hg-tools
hg pull
hg up -r ${TAG}

mkdir -p ~/signing-work/${PRODUCT}-${VERSION}
cd ~/signing-work/${PRODUCT}-${VERSION}
cp ~/hg-tools/release/signing/* .

make setup PRODUCT=${PRODUCT} VERSION=${VERSION} \
  BUILD=${BUILD} REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} USE_NEW=1
rsync -av -e "ssh -i /home/cltsign/.ssh/xrbld_dsa" \
  --exclude=*.txt --exclude=*-symbols.zip \
  xrbld@stage.mozilla.org:/home/ftp/pub/${PRODUCT}/nightly/${VERSION}-candidates/build${BUILD}/ \
 unsigned-build${BUILD}
rsync -av --exclude=unsigned unsigned-build${BUILD}/ \
 signed-build${BUILD}/
rsync -av unsigned-build${BUILD}/unsigned/ \
 signed-build${BUILD}/

make checksum-files create-sigs stage verify-sigs \
  PRODUCT=${PRODUCT} VERSION=${VERSION} BUILD=${BUILD} \
  REPO=${REPO} EMAIL=${EMAIL} KEYDIR=${KEYDIR} USE_NEW=1

rmdir signed-build${BUILD}/contrib{,-localized}

rsync -av -e "ssh -i /home/cltsign/.ssh/xrbld_dsa" \
  signed-build${BUILD}/ \
  xrbld@stage.mozilla.org:/home/ftp/pub/${PRODUCT}/nightly/${VERSION}-candidates/build${BUILD}/

Repacks

Firefox

No problems

Fennec

No problems

Firefox Signing

Left autosign running but it wasn't downloading anything so I killed it, moved over the dir that was sitting there and re-ran the exact same commands (the builds were available at this time) and watched them download. This second signing ran smoothly.

Android Signing

followed instructions

Android Signature Verification

Ran android_signature_verifcation on bm08, forced with 'who' set to the apk (once for en-US, once for multi) it isn't triggered by the automation but ran fine.

Maemo5-GTK repos

Only en-US and multi builds, filed bug 675286 to remove the rest since they failed anyway.

L10N verify

Hasn't been run Need to run this, doing force build doesn't seem to trigger it.

Looked into it by tailing the log on the master when doing a force build:


2011-08-02 10:33:57-0700 [Broker,10545,10.250.50.152] Build.setupBuild failed
2011-08-02 10:33:57-0700 [Broker,10545,10.250.50.152] Unhandled Error
	Traceback (most recent call last):
	  File "/builds/buildbot/build1/lib/python2.6/site-packages/twisted/internet/defer.py", line 318, in callback
	    self._startRunCallbacks(result)
	  File "/builds/buildbot/build1/lib/python2.6/site-packages/twisted/internet/defer.py", line 424, in _startRunCallbacks
	    self._runCallbacks()
	  File "/builds/buildbot/build1/lib/python2.6/site-packages/twisted/internet/defer.py", line 441, in _runCallbacks
	    self.result = callback(self.result, *args, **kw)
	  File "/builds/buildbot/build1/lib/python2.6/site-packages/buildbot-0.8.2_hg_3dc678eecd11_production_0.8-py2.6.egg/buildbot/process/builder.py", line 901, in _startBuild_2
	    d = build.startBuild(bs, self.expectations, sb)
	--- <exception caught here> ---
	  File "/builds/buildbot/build1/lib/python2.6/site-packages/buildbot-0.8.2_hg_3dc678eecd11_production_0.8-py2.6.egg/buildbot/process/base.py", line 217, in startBuild
	    self.setupBuild(expectations) # create .steps
	  File "/builds/buildbot/build1/lib/python2.6/site-packages/buildbot-0.8.2_hg_3dc678eecd11_production_0.8-py2.6.egg/buildbot/process/base.py", line 272, in setupBuild
	    step = factory(**args)
	  File "/builds/buildbot/build1/lib/python2.6/site-packages/buildbotcustom/steps/release.py", line 33, in __init__
	    self.super_class.__init__(self, ignoreCodes=[0,1], **kwargs)
	exceptions.TypeError: __init__() got multiple values for keyword argument 'ignoreCodes'

Looks like this might be due to bug 538541 and needing a restart on the master instead of a reconfig? Need to test this on staging.

Updates

Updates failed because info.txt files couldn't be found. On investigating I discovered that the configs pointed to the oldBuildNumber as being 1 instead of 2. Landed a fix for that in configs, set clobber (just in case), updated and reconfig'd bm08 and then triggered the builder again.

Updates completed successfully, triggered update verify builder manually as well as check_permissions and antivirus

Update verify

No problems

Check permissions / AV scan

No problems

Reset reserved slaves

In bm08:/builds/buildbot/build1/master

echo 0 > reserved_slaves_bm08-build1

Push files to internal mirrors

looks like /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude (cltbld@stage) has been adjusted to exclude anything from

firefox/releases/*.*b*

so I just put the following property into the 'release-mozilla-beta-push_to_mirrors' builder & forced it

script_repo_revision: FIREFOX_6_0b4_RELEASE

Push to beta

For the love of all that is good in the world use screen.

ssh cltbld@aus2-staging (from stage.mozilla.org)
cd /opt/aus2/snippets/staging
~/bin/backupsnip Firefox-6.0b4-build1
~/bin/pushsnip Firefox-6.0b4-build1

Push Xulrunner to Mirrors

# DRYRUN
rsync -n -av --exclude=*.txt --exclude=*unsigned*  --exclude=*-symbols.zip --exclude=*.checksums \
/pub/mozilla.org/xulrunner/nightly/6.0b4-candidates/build1/ /pub/mozilla.org/xulrunner/releases/6.0b4/
# FOR REAL
rsync -av --exclude=*.txt --exclude=*unsigned*  --exclude=*-symbols.zip --exclude=*.checksums \
/pub/mozilla.org/xulrunner/nightly/6.0b4-candidates/build1/ /pub/mozilla.org/xulrunner/releases/6.0b4/

Publish Fennec

Create bouncer entry for maemo

  • added Firefox-Mobile-6.0b4 to products
  • added location for Firefox-Mobile-6.0b4 maemo: /mobile/releases/maemo/:lang/firefox-beta.install

Push the files

# as ffxbld@stage in ~ dir
vim push_fennec.sh # update VERSION,BUILDNUM
# RUN IT
./push_fennec.sh

Got the following errors when running:

cp: cannot stat `/home/ftp/pub/mozilla.org/mobile/candidates/6.0b4-candidates/build1/linux/en-US/install/*.xpi': No such file or directory
cp: cannot stat `/home/ftp/pub/mozilla.org/mobile/candidates/6.0b4-candidates/build1/macosx/en-US/install/*.xpi': No such file or directory
cp: cannot stat `/home/ftp/pub/mozilla.org/mobile/candidates/6.0b4-candidates/build1/win32/en-US/install/*.xpi': No such file or directory

which is because there isn't an xpi generated for en-US so I adjusted the push_fennec.sh script for the next release to skip en-US:

for p in linux macosx win32; do
    locales=`cd $CD/$VERSION-candidates/build$BUILDNUM/$p/; ls -1 --hide=en-US`
    for i in $locales; do
        cp -a $CD/$VERSION-candidates/build$BUILDNUM/$p/$i/install/*.xpi \
          $RD/$VERSION/$p/$i
    done
done

Publish to the Android Market

  • Downloaded multi apk
  • Uploaded to Market & activated the new apk to replace the old
  • Ping'd LegNeato about getting some "what's new?" text or the shortened release notes url (not blocking)

IMPORTANT - Apparently it is possible for the old apk to "come back from the dead" and on this release it turned out that a second visit to the (insert expletive here) Market was necessary to re-activate the 6.0b4 apk AGAIN. So watch your back with anything to do with the Market and check it twice.

Push to external mirrors

nothing to do here, this is a beta