Releases/Firefox 4.0rc1/BuildNotes

Notes About Releasing

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

Build Engineers

bhearsum - bug 638061

Signed-off Revision(s)

L10N changesets

Retrieved the l10n-changesets as follows:

wget -O l10n-changesets_mozilla-2.0 https://l10n-stage-sj.mozilla.org/shipping/l10n-changesets?ms=fx4.0rc1

Hit "ship it" on Firefox 4.0rc1 page (https://l10n-stage-sj.mozilla.org/shipping/milestones)

Tags

Build # Tag Changeset
1 GECKO20_2011030313_RELBRANCH 290712e55ade
FIREFOX_4_0rc1_BUILD1 FIREFOX_4_0rc1_RELEASE 5f8f494a4c29

Build data

Build # Type Build ID Build machine Time to build
1 Linux [compressed .tar.bz2]
Linux64 [compressed .tar.bz2]
Mac [.dmg]
Win32 [.exe/.zip]

Build 1

We're on pm01 for this release.

Setup

Set a clobber

Set a clobber for pm01, any release, any builder with clobberer.

Sync repositories

We're building RCs out of the mozilla-2.0 and l10n-mozilla-2.0 repositories, and we're responsible for syncing the latest from mozilla-central/l10n-central to them. To do this, did the following on an idle slave, after opening the mozilla-2.0 tree:

# locales.txt is a list containing all of the locales we're shipping in this release, based off of l10n-changesets
cd /builds/slave
mkdir rc1-sync
cd rc1-sync
hg clone http://hg.mozilla.org/mozilla-central
cd mozilla-central
hg push -e 'ssh -i ~/.ssh/ffxbld_dsa' ssh://ffxbld@hg.mozilla.org/releases/mozilla-2.0
for i in `cat locales.txt`; do hg clone http://hg.mozilla.org/l10n-central/$i; done
for i in `cat locales.txt`; do hg -R $i push -e 'ssh -i ~/.ssh/ffxbld_dsa' ssh://ffxbld@hg.mozilla.org/releases/l10n-mozilla-2.0/$i; done

Only a few locales had changesets pushed, because the l10n-mozilla-2.0 were cloned earlier in the day.

Reserve Slaves

On pm01, did the following, to reserve enough fast slaves for the release:

cd /builds/buildbot/builder_master1
echo 6 > reserved_slaves_pm01

Move IX machines

Because of 638309 we had to connect some SCL-based IX machines to pm01 for the duration of this release. Moved the following:

  • linux-ix-slave18 - 23
  • w32-ix-slave27 - 32

Land Configs

Tag Repositories

Tagged build/tools, buildbotcustom, and buildbot-configs with FIREFOX_4_0rc1_RELEASE and FIREFOX_4_0rc1_BUILD1

Update Master

Updated /tools/buildbotcustom/buildbotcustom, /builds/buildbot/builder_master/tools and /builds/buildbot/configs on pm01 to the latest of the production branches. Afterwards, reconfiged with the following command:

cd /builds/buildbot/builder_master1
make reconfig && tail -F twistd.log | grep configuration

Run release_sanity.py

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

Kick it off

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

Tag

No problems.

Start autosign

Once mozilla-2.0 finished tagging, used these instructions to start autosign

Source

No problems

Build/Repack

  • Linux: no problems with en-US
    • L10n repacks failed the first time because I forgot to update the mozconfigs for the l10n-mozilla-2.0 repositories. They failed a second time because I forgot to retag buildbot-configs after landing the fix.
    • Because of failed repacks, "linux_repack_complete" builder didn't fire. Used "Force Build" to trigger it manually.
  • Linux 64-bit: no problems with en-US or repacks
  • Win32
    • lost connection to w32-ix-slave29 during linking, buildbot tried to retry on w32-ix-slave30 automatically, but couldn't connect to it. catlee rebooted slave30, and then updated the db so the request would be retried again. slave29 picked it up a second time.
    • 2nd build on slave29 failed, automatically retried and picked up by slave30 this time. catlee moved all w32-ix slaves to buildbot-master1:9010
    • hit rebuild on build#1 so we could get a build going on a VM at the same time in case the one on the IX machine dies again
    • final build attempt on IX through buildbot died because bhearsum tried to trick the linker into being verbose, but caused a bad invocation instead. Kicked it through manually by doing the following:
# In MSYS shell through VNC on w32-ix-slave30
cd /e/builds/moz2_slave/rel-2.0-w32-bld/build
export MOZ_OBJDIR=obj-firefox
export MOZ_PKG_PRETTYNAMES=1
export MOZ_PKG_VERSION=4.0rc1
make -f client.mk profiledbuild MOZ_BUILD_DATE=20110303194838
cd obj-firefox
make buildsymbols
export POST_SYMBOL_UPLOAD_CMD=/usr/local/bin/post-symbol-upload.py
export SYMBOL_SERVER_HOST=dm-symbolpush01.mozilla.org
export SYMBOL_SERVER_PATH=/mnt/netapp/breakpad/symbols_ffx/
export SYMBOL_SERVER_SSH_KEY="/c/Documents and Settings/cltbld/.ssh/ffxbld_dsa"
export SYMBOL_SERVER_USER=ffxbld
make uploadsymbols
make package
make installer
make -C obj-firefox/tools/update-packaging
cd ../
python build/config/printconfigsetting.py build/obj-firefox/dist/bin/application.ini App BuildID > build/obj-firefox/dist/win32_info.txt
export POST_UPLOAD_CMD="post_upload.py -p firefox -n 2 -v 4.0rc1 --release-to-candidates-dir"
export UPLOAD_EXTRA_FILES=win32_info.txt
export UPLOAD_HOST=stage.mozilla.org
export UPLOAD_SSH_KEY=~/.ssh/ffxbld_dsa
export UPLOAD_TO_TEMP=1
export UPLOAD_USER=ffxbld
cd build/obj-firefox
make upload
  • OSX: no problems with en-US or repacks

Added index.html the firefox/nightly/4.0rc1-candidates/build1/ to redirect the curious/obsessive ftp polling types.

Returned linux-ix-slave18 - 23 to bm04, since they had gotten hung anyway.

Unreserve Slaves

On pm01, did the following:

cd /builds/buildbot/builder_master1
echo 0 > reserved_slaves_pm01