Releases/Firefox 3.1b3/BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

release tracking bug

Signed-off Revision(s)

Build1: revision df865af82400 Build2: revision 3d9704097cd8


On release/mozilla-1.9.1:

Build # Tag Changeset
1 GECKO191b3_20090304_RELBRANCH df865af82400
FIREFOX_3_1b3_RELEASE, FIREFOX_3_1b3_BUILD1 f2472bc0091b
2 FIREFOX_3_1b3_RELEASE, FIREFOX_3_1b3_BUILD2 3d9704097cd8

All l10n repositories listed in l10n-changesets were also relbranch'd to GECKO191b3_20090304_RELBRANCH, and tagged with FIREFOX_3_1b3_RELEASE and FIREFOX_3_1b3_BUILD1 for build1. Tagging for build 2 adds a FIREFOX_3_1b3_BUILD2 tag, while FIREFOX_3_1b3_RELEASE is unchanged.

Build data

Type Build ID Build machine
[Windows installer/zip]
[Mac compressed]
[Linux compressed]


  • Did some disk cleanup before starting, making sure these dirs were all empty across the farm (/builds/*slave*/): tag source linux_build linux_repack macosx_build macosx_repack win32_build win32_repack l10n_verification updates linux_update_verify macosx_update_verify win32_update_verify final_verification
  • Make sure any changes to files like l10n-changesets,, and have been updated on the master, and it has been reconfig'd to pick them up

Build 1

Close Firefox3.1 tree, and kicked off automation with: (TBC)

buildbot sendchange --master=localhost:9010 --username=nthomas --branch=releases/mozilla-1.9.1 -m "Firefox 3.1b3 build1 try#1" gogogo


Automation successfully did all the locales, then tried to push changes to releases/mozilla-1.9.1 and failed because of the CLOSED TREE hook. (bug 482269)

pushing to ssh://
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 3 changesets with 6 changes to 5 files
remote: Tree mozilla-1.9.1 is CLOSED! (
remote: To push despite the closed tree, include "CLOSED TREE" in your push comment
remote: transaction abort!
remote: rollback completed
remote: abort: pretxnchangegroup.a_treeclosure hook failed
abort: unexpected response: empty string

Which seems bogus because pushes don't have comments, checkins do. Our version bump does have "CLOSED TREE" in it, but the two tagging operations don't. Fixed by adding a new line before <span id="extended-status"> on the tinderbox page, which disables the hook, and rerunning

hg push -e 'ssh -l ffxbld -i ~cltbld/.ssh/ffxbld_dsa' -f ssh://

on moz2-linux-slave08.

Then made tag_factory a dummy, and did another sendchange - got same slave and died trying to reclone af locale, no fallout. Then reconfig'd master to pickup dummy factory, and did sendchange.

bug 482649 non-release builders are also triggered by sendchange, reducing slave availability

Landed version bump for nightlies and reopened tree. You have to push -f because you're creating a new head (the relbranch doesn't create one but the first push after branching does).


Automated, no problems


  • Linux: No problems
  • Mac: Looks like the first build on each slave failed to update to the tag on m-1.9.1 example. Luckily we do this twice, and the second time uses the -C that the v0.9.5 mercurial needs to span the branch
  • Win32: No problems


instructions Status: dll/exe signing running

Respin was declared at this point. Pushed out builds with signed exe/dll (WITHOUT signed installers) so QA can test build1 while waiting for build2.

Build 2

Cleaned up build1 dirs for tag, source, linux_build/repack, macosx_build/repack, win32_build/repack.

Updated automation config, removed Dummy step for Tag and reconfig'd master.

Close Firefox3.1 tree, and kicked off automation with: (TBC)

buildbot sendchange --master=localhost:9010 --username=nthomas --branch=releases/mozilla-1.9.1 -m "Firefox 3.1b3 build2 try#1" gogogo


Automated, no problems this time.


Automated, no problems. Verified

hg diff -r FIREFOX_3_1b3_BUILD1 -r FIREFOX_3_1b3_BUILD2

is sane with local repo.


Same mac hg issue as build1. Also had

  • mac/ko died unpacking dmg - log
  • win32/da timeout configuring - log

Rebuilt these by hand by grabbing a slave and reproducing the commands in the buildbot factories. Basically (but I did all the steps, semi-redundant though they are) this for win32/da:

cd /e/builds/moz2-slave/win32_repack/build/releases/l10n-mozilla-1.9.1
hg clone
hg -R da up -C -r FIREFOX_3_1b3_RELEASE
cd /e/builds/moz2-slave/win32_repack/build/mozilla-1.9.1/browser/locales
ZIP_IN=/e/builds/moz2-slave/win32_repack/build/mozilla-1.9.1/ \
 WIN32_INSTALLER_IN=/e/builds/moz2-slave/win32_repack/build/mozilla-1.9.1/firefox.exe \
 make installers-da
POST_UPLOAD_CMD="/home/ffxbld/bin/ -p firefox -v 3.1b3 -n 2 --release-to-candidates-dir" \ UPLOAD_SSH_KEY="~/.ssh/ffxbld_dsa" \
 make l10n-upload-da


cd /builds/slave/macosx_repack/build/releases/l10n-mozilla-1.9.1
hg clone
hg -R ko up -C -r FIREFOX_3_1b3_RELEASE

cd /builds/slave/macosx_repack/build/mozilla-1.9.1/browser/locales
ZIP_IN=/builds/slave/macosx_repack/build/mozilla-1.9.1/firefox.dmg \
  make installers-ko

POST_UPLOAD_CMD="/home/ffxbld/bin/ -p firefox -v 3.1b3 -n 2 --release-to-candidates-dir" \
 make l10n-upload-ko

NB: path is slave dependent

This custom buildbot url is a great way to spot these problems. Just look for red builds.


instructions No problems.

bug 482270 Need something that grooms out un-needed locales (eg ja on mac, ja-JP-mac on linux/win32) based on shipped-locales. Did this manually on stage this time.

bug 482644 Need to also add KEY, contrib & contrib-localized, generate SHA1SUM/MD5SUMS, fix up permissions etc. Some sort of final staging step, most of which can probably run on signing box.


Green - lots of changes but they seem fine.

bug 482880 - win32 diffs have duplication

Generate updates and push betatest snippets

First attempt died out trying to execute

['/usr/bin/cvs', '-d', '', '-z3', 'checkout', '-d', 'build', '-r', 'post_signing', '-D', 'Sun, 08 Mar 2009 23:28:48 -0000', 'mozilla/tools/patcher']
cvs [checkout aborted]: no such tag post_signing

The 'post_signing' branch has overridden patcherToolsTag in ReleaseUpdatesFactory. bug 482272: Bug to swap this over to a ShellCommand like all the other cvs operations.

Triggered manually on waterfall, leaving branch blank (no need to clean up moz2-linux-slave09 as it updates/ contains only tools/, and we delete & repull that on every step). No further problems.

Update verify

Hit problem with missing CVS_RSH=rsh on Mac, fallout from bug 428124. Updated plist on slaves.

All three are red from missing Welsh locale (cy) for b3, otherwise fine.

bug 486454 Can get multiple heads in build/tools repo from each platform pushing it's verify config changes.

Create and push releasetest channel snippets

We need to generate releasetest snippets to test bouncer/mirrors on release day

# cltbld@aus2-staging
cd /opt/aus2/snippets/staging
rsync -av 20090306-Firefox-3.1b3/ 20090306-Firefox-3.1b3-releasetest/
cd 20090306-Firefox-3.1b3-releasetest/
for i in `find . -mindepth 5 -maxdepth 5`; do \
  cd "$i"; mv beta releasetest; \
  cd /opt/aus2/snippets/staging/20090306-Firefox-3.1b3-releasetest;
~/bin/pushsnip 20090306-Firefox-3.1b3-releasetest/

Skipped a backsnip here as Tb went to beta earlier today.

bug 486459 We should set releasetest in the patcher config, and make sure the patcher bumper will preserve it.

Update Bouncer

Manually added entries to

Final checks before push

cd /home/ftp/pub/firefox/nightly/3.1b3-candidates/build2/
find . ! -user ffxbld
find . ! -group firefox
find . ! -perm 644 -type f -exec chmod -v 644 {} \;
find . ! -perm 755 -type d ! -name '*contrib*' -ls -exec chmod -v 755 {} \;
find contrib contrib-localized ! -perm 2775

Push to mirrors

Create /home/ftp/pub/firefox/releases/3.1b3 and change ownership to ffxbld, mode 755.

 # ffxbld@stage
rsync -av --exclude=*.log --exclude=*.txt --exclude=*unsigned* \
 /home/ftp/pub/firefox/nightly/3.1b3-candidates/build2/ \

Updated /pub/

Final verification

A few 404s caused by partly synced mirrors. One mirror only working about 50% of time ( - the mirror owner fixed it.

Publish updates to beta channel

time ~/bin/backupsnip 20090306-Firefox-3.1b3
real	43m15.743s
user	0m36.436s
sys	0m50.579s

time ~/bin/pushsnip 20090306-Firefox-3.1b3
real    0m10.688s
user    0m0.017s
sys     0m0.821s

Release complete!