Releases/Firefox 8.0b3/BuildNotes

Notes About Releasing

Please update the Notes Template and the Release:Primer for future releases (bug fixes, changes to automation) as needed

Bugs hit

Enter any bugs pre-existing or newly discovered and filed during the release:

  • bug 684387 - fallout in update verify from moving firefox/nightly/5.0b4-candidates away, fixed update verify configs
  • bug 664539 - AUS sometimes doesn't return an update in update/final verify
    • added debugging output
    • fixed fake red in final verify from debug code

Build Engineers

nthomas - Tracking bug: bug 693412

Signed-off Revision(s)

Build 1: 890a66b91702

L10N changesets

Instructions on how to get them

Tags

Build # Branch, Tags Changeset
MOBILE80_2011101117_RELBRANCH, FENNEC_8_0b3_RELEASE, FENNEC_8_0b3_BUILD1 890a66b91702
GECKO80_2011101118_RELBRANCH, FIREFOX_8_0b3_BUILD1 FIREFOX_8_0b3_RELEASE 890a66b91702

Build data

Firefox

Build # Type Build ID Build machine Time to build
1 Linux 20111011182523 mv-moz2-linux-ix-slave10 2 hrs, 28 mins, 41 secs
Linux64 linux64-ix-slave07 2 hrs, 6 mins, 43 secs
Mac moz2-darwin10-slave08 4 hrs, 56 mins, 54 secs
Windows mw32-ix-slave05 2 hrs, 45 mins, 7 secs

Fennec

Build # Type Build ID Build machine Time to build
1 android 20111011181420 mv-moz2-linux-ix-slave21 1 hrs, 45 mins, 9 secs
linux 20111011181420 mv-moz2-linux-ix-slave02 1 hrs, 12 mins, 37 secs
macosx 20111011181420 bm-xserve15 2 hrs, 17 mins, 36 secs
win32 20111011181420 mw32-ix-slave14 1 hrs, 21 mins, 6 secs

Notes

Build 1

Preparing to start Automation

  • Set reserved_slaves to 6:
# cltbld@buildbot-master08
echo 6 > /builds/buildbot/build1/master/reserved_slaves_bm08-build1
  • Requested a clobber for Any master, mozilla-beta, any builder
  • Hit "Ship it" for Firefox & Fennec 8.0b3
  • Update l10n changesets for desktop, mobile
  • Land automation configs
  • Tag buildbot-configs, buildbotcustom, tools, mozharness with {FIREFOX,FENNEC}_8_0b3_{RELEASE,BUILD1}
  • Updated master configs, ran checkconfig, reconfiged
  • Ran release sanity:
cd /builds/buildbot/build1/master
source ../bin/activate
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u nthomas -pfirefox,fennec -V 8.0b3 --branch mozilla-beta --build-number 1 -c release-firefox-mozilla-beta.py -c release-fennec-mozilla-beta.py --dryrun localhost:9001
  • Started the release:
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u nthomas -pfirefox,fennec -V 8.0b3 --branch mozilla-beta --build-number 1 -c release-firefox-mozilla-beta.py -c release-fennec-mozilla-beta.py localhost:9001

Tag

No problems

Bouncer Submitter

No problems

Source

No problems

Start autosign

PRODUCT=firefox
VERSION=8.0b3
BUILD=1
TAG=FIREFOX_8_0b3_RELEASE
REPO='releases/mozilla-beta'
EMAIL=release@mozilla.com
KEYDIR=d:/2011-keys
RELCONFIG=mozilla/release-firefox-mozilla-beta.py

cd ${HOME}/hg-tools/ # if it exists, otherwise create a fresh clone
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

Desktop Builds

No problems

Desktop repacks

No problems

Unittests / Talos

How can these be checked if the tindermail is disabled ?

XULRunner

Source

No problems

Build

No problems

Signing

Signed with this at ~/sign_xulrunner_8.0b3.sh:

#!/bin/bash
set -x
set -e

PRODUCT=xulrunner
VERSION=8.0b3
BUILD=1
TAG=FIREFOX_8_0b3_RELEASE
REPO="releases/mozilla-beta"
EMAIL=nthomas@mozilla.com
KEYDIR=d:/2011-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}
rsync -av -e "ssh -i /home/cltsign/.ssh/xrbld_dsa" \
  --exclude=*.txt --exclude=*-symbols.zip --exclude=jsshell*\
  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}

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

No problems

Android Signing

No problems with instructions

Android Signature Verification

No problems

L10N verify

No problems

Updates

No problems

Update verify

Some failures:

  • linux chunk 7
  • mac chunk 10
  • win32 chunk 6, 7

like

FAIL: no complete update found for https://aus3.mozilla.org/update/1/Firefox/5.0/20110608151458/Linux_x86-gcc3/nl/betatest/update.xml?force=1

which is bug 664539. Added a patch there to get more debug info, and checked all the URLs actually do offer a complete update.

Also failed chunk 10 on all platforms because it couldn't get files from firefox/nightly/5.0b4-candidates, which were moved away recently in bug 684387. Turns out we never shipped 5.0b4, so a patch was attached to that bug to remove it.

Reset reserved slaves

In buildbot-master08:/builds/buildbot/build1/master did

echo 0 > reserved_slaves_bm08-build1

Check permissions / AV scan

No problems

Push files to internal mirrors

Used "Force build" to starting the push to mirrors builder with the following property:

   script_repo_revision: FIREFOX_8_0b3_RELEASE

Final verification

1 instance of bug 664539 (not reproducible)

13 failures from mozilla.3c.stonekitty.net, 302 to that CDN then

FAIL: download_mars returned non-zero exit code: 7

That's a 'Protocol Error' from wget. Trying to reproduce I occasionally get

$ curl -vI http://mozilla.3c.stonekitty.net/firefox/releases/8.0b3/update/linux-i686/lv/firefox-8.0b3.complete.mar
* About to connect() to mozilla.3c.stonekitty.net port 80 (#0)
*   Trying 174.34.225.21... connected
* Connected to mozilla.3c.stonekitty.net (174.34.225.21) port 80 (#0)
> HEAD /firefox/releases/8.0b3/update/linux-i686/lv/firefox-8.0b3.complete.mar HTTP/1.1
> User-Agent: curl/7.21.7 (x86_64-apple-darwin10.8.0) libcurl/7.21.7 OpenSSL/1.0.0d zlib/1.2.5 libidn/1.22
> Host: mozilla.3c.stonekitty.net
> Accept: */*
> 
* Empty reply from server
* Connection #0 to host mozilla.3c.stonekitty.net left intact
curl: (52) Empty reply from server
* Closing connection #0

We've had something similar with voxcdn in the past.

Have pinged N2k in #mirrors, no response. Rerunning the jobs resulted in even more failures on stonekitty, so that mirror has been disabled. It had a weight of 28, which is much larger than the 1 each we have on the other three mirrors, so the chance of a bad experience was very high.

Ran final verification a third time, and all were red because of the debugging patch for bug 664539 adding lines like

HTTP request sent, awaiting response... 

for the grep in final verification to match on. I downloaded each of the logs and ran

grep HTTP/ <file> | grep -v 200 | grep -qv 302

instead (the forward slash is added), and got no output. So the red can be ignored. Fix added to 664539.

Push to beta

# cltbld@aus2-staging
~/bin/backupsnip Firefox-8.0b3-build1
real	40m43.287s
user	0m8.150s
sys	0m40.348s
~/bin/pushsnip Firefox-8.0.b3-build1
real	18m34.500s
user	0m3.897s
sys	0m22.365s

Push XULRunner to Mirrors

rsync  -av --exclude=*.txt --exclude=*unsigned* --exclude=*-symbols.zip \
  --exclude=*.checksums --exclude=jsshell* \
  /pub/mozilla.org/xulrunner/nightly/8.0b3-candidates/build1/ \
  /pub/mozilla.org/xulrunner/releases/8.0b3/

Update XULRunner wiki page

Publish Fennec

Push the files

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

Publish to the Android Market

IMPORTANT - Make sure to follow instructions! See 6.0b6's push to Market.