Releases/Firefox 4.0b9/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

Build Engineers

rail, catlee - bug 621199

Signed-off Revision(s)

L10N changesets

  • Didn't hit "ship it" from FF4 beta9 page as there were still outstanding approvals. Hit "Ship it" later after comparing l10n-changesets and l10n-changesets_mozilla-2.0.

Tags

Build # Tag Changeset
1 GECKO20b9_2011011018_RELBRANCH 859a97109032
FIREFOX_4_0b9_RELEASE / FIREFOX_4_0b9_BUILD1 cd72d71311c4

Build data

Build # Type Build ID Build machine Time to build
1 Linux [compressed .tar.bz2] 20110110191600 mv-moz2-linux-ix-slave10 1 hrs, 9 secs
Linux64 [compressed .tar.bz2] 20110110192031 moz2-linux64-slave03 1 hrs, 36 mins, 4 secs
Macosx64 [.dmg] 20110110191913 moz2-darwin10-slave19 4 hrs, 23 mins, 19 secs
Win32 [.exe/.zip] 20110110191547 mw32-ix-slave06 2 hrs, 51 mins, 26 secs

Bugs hit

  • bug 624704 'hg out' died in tagging, wasn't retried. Manually pushed, stubbed out tag factory, and restarted automation.
  • 'signedPlatforms' required in release_config.py download_builds.py. Worked around by simple patch to default to ('win32',)
  • release clobberer didn't work
  • mail isn't sent to r-d for tagging start/completion
  • pm01 couldn't send mail sometimes due to startTLS issue
  • autosign didn't upload at the end as I (catlee) expected it would

Build 1

Setup

Set reserved_slaves_pm01 to 4

Landed automation configs: http://hg.mozilla.org/build/buildbot-configs/rev/e6acb5b5017b

Tagged buildbotcustom http://hg.mozilla.org/build/buildbotcustom/rev/3a11a14d586e

Tagged build tools http://hg.mozilla.org/build/tools/rev/058ef321faad

Updated pm01 to FIREFOX_4_0b9_RELEASE

Interrupted here due to https://bugzilla.mozilla.org/show_bug.cgi?id=624514

Landed new automation configs with updated revision http://hg.mozilla.org/build/buildbot-configs/rev/6d8974239200

Updated pm01 again.

Set clobbers on all pm01 releases.

Kicked off automation with:

 PYTHONPATH=/builds/buildbot/builder_master1:/builds/buildbot/builder_master1/tools/lib/python python /builds/buildbot/builder_master1/tools/buildbot-helpers/release_sanity.py -u catlee -V 4.0b9 --branch mozilla-central --build-number 1 -c release-firefox-mozilla-2.0.py --dryrun localhost:9010
 PYTHONPATH=/builds/buildbot/builder_master1:/builds/buildbot/builder_master1/tools/lib/python python /builds/buildbot/builder_master1/tools/buildbot-helpers/release_sanity.py -u catlee -V 4.0b9 --branch mozilla-central --build-number 1 -c release-firefox-mozilla-2.0.py localhost:9010

Created mac directories and mac64 symlinks:

 # ffxbld@surf
 cd /pub/mozilla.org/firefox/nightly
 mkdir -p 4.0b9-candidates/build1/mac
 cd 4.0b9-candidates/build1
 ln -s mac mac64
 cd ..
 mkdir -p update/mac
 cd update
 ln -s mac mac64

Tried to start auto signing, but fails out with missing 'signedPlatforms' key. Patched references to releaseConfig['signedPlatforms'] with releaseConfig.get('signedPlatforms', ('win32',)) and restarted.

Tag

tagging died on 'ta' locale:

command: START
command: arg0: hg
command: args: ['-q', 'out', '--template', '{node}\n', '-e', 'ssh -l ffxbld -i ~cltbld/.ssh/ffxbld_dsa', '-r', '29ada2d45589', '-b', 'default', 'ssh://hg.mozilla.org/l10n-central/ta']
command: cwd: ta
command: output:
abort: no suitable response from remote hg!
command: END

fixed up manually by logging onto the slave,

cd /builds/slave/rel-cen-tag/build/ta
hg push -e 'ssh -i ~/.ssh/ffxbld_dsa' --new-branch ssh://ffxbld@hg.mozilla.org/l10n-central/ta

set skip_tag = True in release config, pushed, tagged, and re-ran release sanity.

Source

Died on linux-ix-slave13.build.mozilla.org because it wasn't clobbered properly.

Manually clobbered, and triggered rebuild.

2nd build worked fine.

Build/Repack

  • linux - no problems
  • linux64 - no problems
  • macosx64 - no problems
  • win32 - no problems

Unittests

Results

Signing

Autosign method used this time, see Build:CombinedSigning.

L10N Verify

Red due to the nature of betas, where we have new locales, a lot of string changes for the already released locales.

Updates

Failed the first run due to typo in Bootstrap/Util.pm, details.

Updated patcher-config-bump.pl generates 4.0b9 config which properly uses mac64 in the exceptions section (the same as in platforms), but it used to generate "mac" for the previous versions, regardless of the platforms listed in <platforms>. As a result ja-JP-mac build of b8 wasn't in the list for download. Probably we'll need to generate complete snippets manually for all previous builds of ja-JP-mac (since b4).

Fix for ja-JP-mac:

# cltbld@mv-moz2-linux-ix-slave08
cd /builds/slave/rel-cen-updates/build/temp/firefox/
mkdir -p 4.0b8-4.0b9.ja-JP-mac/aus2.test/
rsync -a 4.0b8-4.0b9/aus2.test/ 4.0b8-4.0b9.ja-JP-mac/aus2.test/

cd 4.0b8-4.0b9.ja-JP-mac/aus2.test/Firefox

for v in {4..8}; do
    for abi in Darwin_x86_64-gcc3  Darwin_x86_64-gcc3-u-i386-x86_64  Darwin_x86-gcc3-u-i386-x86_64; do
        for d in `ls -d -1 ./4.0b$v/$abi/*`; do
            mkdir -v $d/ja-JP-mac
        done
    done
done

for d in `find . -type d -name ja-JP-mac`; do
    mkdir $d/releasetest $d/betatest
    cat > $d/releasetest/complete.txt << EOF
version=1
type=complete
url=http://download.mozilla.org/?product=firefox-4.0b9-complete&os=osx&lang=ja-JP-mac
hashFunction=SHA512
hashValue=b30b86acdff4a8492438839e8cd34104a7c78729fccadf69c70313c4668cb59d001be5df9509b13074f56586a363724b94993c164ecfc799a1bcef24f69d70f8
size=27580252
build=20110110191913
appv=4.0 Beta 9
extv=4.0b9
detailsUrl=http://www.mozilla.com/ja-JP-mac/firefox/4.0b9/releasenotes/
EOF
    
    sed -e \
    's!^url=.*!url=http://stage-old.mozilla.org/pub/mozilla.org/firefox/nightly/4.0b9-candidates/build1/update/mac/ja-JP-mac/firefox-4.0b9.complete.mar!' \
   $d/releasetest/complete.txt > $d/betatest/complete.txt
done

cd ../..
rsync -a aus2.test/ aus2/
cd aus2/Firefox
find . -depth -name 'betatest' -type d -exec rm -rf {} \;
find . -mindepth 4 -maxdepth 4 -type d -exec mv {}/{releasetest,beta} \;
cd ../..

rsync -av -e "ssh -oIdentityFile=~/.ssh/cltbld_dsa" \
    aus2.test/ \
    cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20110110-Firefox-4.0b9-test/

rsync -av -e "ssh -oIdentityFile=~/.ssh/cltbld_dsa" \
    aus2/ \
    cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20110110-Firefox-4.0b9/


ssh -i ~/.ssh/cltbld_dsa cltbld@aus2-staging.mozilla.org ~/bin/pushsnip 20110110-Firefox-4.0b9-test

Update Bouncer

Filed bug 624658 to add missing locales to Tuxedo.

The bug wasn't fixed by Fri Jan 14 03:30 PST 2011. Had to add bouncer entries manually to be able to test mirror uptake monitoring after push to mirrors.

Update Verify

macosx64 update verify failed due to absence of partial updates for ja-JP-mac, which is expected result in this version. Should be fixed by bug 600931.

Final checks before push and virus check

Ran "pre_push_checks" builder with the following properties set:

  • Your name: rail (optional)
  • Reason for build: pre push checks (optional)
  • Branch to build: mozilla-central (optional)
  • Revision to build: FIREFOX_4_0b9_RELEASE (mandatory)
  • Property 1 Name: release_config Value: mozilla/release-firefox-mozilla-2.0.py (mandatory)

Socorro product data updates

Looks like somebody already added 4.0b9 at https://crash-stats.mozilla.com/admin/branch_data_sources

Push to mirrors

The current release excluded from rsyncd config as described in bug 620444 in advance:

# cltbld @ surf
$ grep firefox/releases/4.0b9 /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude
- firefox/releases/4.0b9

The entry should be removed when we want to advertise firefox/releases/4.0b9 to mirrors.

Ran "push_to_mirrors" builder with the following properties set:

  • Your name: rail (optional)
  • Reason for build: push to mirrors (optional)
  • Branch to build: mozilla-central (optional)
  • Revision to build: FIREFOX_4_0b9_RELEASE (mandatory)
  • Property 1 Name: release_config Value: mozilla/release-firefox-mozilla-2.0.py (mandatory)

Removed "- firefox/releases/4.0b9" line from /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude (as cltbld @ surf), when the builder is done.

Final verify

The first automated (triggered by mirror uptake monitoring) went red, because it was fired too early. See bug 394498 for the details.

The second time it also went red due to

FAIL: no partial update found for https://aus2.mozilla.org/update/1/Firefox/4.0b8/20101214165004/Darwin_x86_64-gcc3/ja-JP-mac/releasetest/update.xml?force=1
FAIL: download_mars returned non-zero exit code: 1

which is expected. We have no partial updates for ja-JP-mac this time, completes only.

Push snippets to beta channel

# ssh cltbld@aus2-staging, run in screen
cd /opt/aus2/snippets/staging/
time ~/bin/backupsnip 20110110-Firefox-4.0b9
real    5m23.901s
user    0m0.386s
sys     0m3.760s

time ~/bin/pushsnip 20110110-Firefox-4.0b9
(for MPT:
real    2m47.082s
user    0m0.213s
sys     0m3.920s

for PHX:
real    0m45.962s
user    0m0.088s
sys     0m1.186s
)

real    3m34.519s
user    0m0.309s
sys     0m5.126s

Send mail to metrics

Sent mail to metrics@mozilla.com with the following contents:

Firefox,firefox,firefox,4.0b9,4.0
Firefox,firefox,firefox,4.0b10pre,4.0

Release

Add 4.0b8 to rsync exclude in /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude

# cltbld@stage.mozilla.org
grep '4.0b8' /pub/mozilla.org/zz/rsyncd-mozilla-releases.exclude
- firefox/releases/4.0b8