Releases/Firefox 3.1b3/BuildNotes
Contents
- 1 Build Engineers
- 2 Signed-off Revision(s)
- 3 Tags
- 4 Build data
- 5 Notes
- 5.1 Build 1
- 5.2 Build 2
- 5.2.1 Tag
- 5.2.2 Source
- 5.2.3 Build/Repack
- 5.2.4 Sign
- 5.2.5 L10nVerify
- 5.2.6 Generate updates and push betatest snippets
- 5.2.7 Update verify
- 5.2.8 Create and push releasetest channel snippets
- 5.2.9 Update Bouncer
- 5.2.10 Final checks before push
- 5.2.11 Push to mirrors
- 5.2.12 Final verification
- 5.2.13 Publish updates to beta channel
Build Engineers
nthomas
release tracking bug
Signed-off Revision(s)
Build1: revision df865af82400 Build2: revision 3d9704097cd8
Tags
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] |
Notes
- 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, release_config.py, and release_master.py 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
Tag
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://hg.mozilla.org/releases/mozilla-1.9.1 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! (http://tinderbox.mozilla.org/Firefox3.1/) 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://hg.mozilla.org/releases/mozilla-1.9.1
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).
Source
Automated, no problems
Build/Repack
- 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
Sign
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
Tag
Automated, no problems this time.
Source
Automated, no problems. Verified
hg diff -r FIREFOX_3_1b3_BUILD1 -r FIREFOX_3_1b3_BUILD2
is sane with local repo.
Build/Repack
Same mac hg issue as build1. Also had
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 http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/da/ 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/firefox.zip \ WIN32_INSTALLER_IN=/e/builds/moz2-slave/win32_repack/build/mozilla-1.9.1/firefox.exe \ MOZ_MAKE_COMPLETE_MAR=1 MOZ_PKG_PRETTYNAMES=1 \ make installers-da POST_UPLOAD_CMD="/home/ffxbld/bin/post_upload.py -p firefox -v 3.1b3 -n 2 --release-to-candidates-dir" \ UPLOAD_HOST=stage.mozilla.org UPLOAD_SSH_KEY="~/.ssh/ffxbld_dsa" \ UPLOAD_TO_TEMP=1 UPLOAD_USER=ffxbld MOZ_PKG_PRETTYNAMES=1 \ MOZ_MAKE_COMPLETE_MAR=1 \ make l10n-upload-da
mac/ko:
cd /builds/slave/macosx_repack/build/releases/l10n-mozilla-1.9.1 hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/ko/ 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 \ MOZ_MAKE_COMPLETE_MAR=1 MOZ_PKG_PRETTYNAMES=1 \ make installers-ko POST_UPLOAD_CMD="/home/ffxbld/bin/post_upload.py -p firefox -v 3.1b3 -n 2 --release-to-candidates-dir" \ MOZ_MAKE_COMPLETE_MAR=1 MOZ_PKG_PRETTYNAMES=1 \ UPLOAD_HOST=stage.mozilla.org UPLOAD_SSH_KEY="~/.ssh/ffxbld_dsa" \ UPLOAD_TO_TEMP=1 UPLOAD_USER=ffxbld \ 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.
Sign
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.
L10nVerify
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', ':ext:cltbld@cvs.mozilla.org:/cvsroot', '-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; done ~/bin/pushsnip 20090306-Firefox-3.1b3-releasetest/
Skipped a backsnip here as Tb 2.0.0.21 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 download.mozilla.org
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/ \ /home/ftp/pub/firefox/releases/3.1b3/
Updated /pub/mozilla.org/zz/rsyncd-mozilla-current.exclude.
Final verification
A few 404s caused by partly synced mirrors. One mirror only working about 50% of time (http://mozilla.mirror.ac.za/firefox/releases/3.1b3/) - 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!