SeaMonkey:Release Process:2.0.3
Build Harness
Bugs
Tracking bug filed as bug 544560
Build Engineer
Robert Kaiser
Signed-off Revisions
http://hg.mozilla.org/releases/comm-1.9.1/rev/8289e10542da
http://hg.mozilla.org/releases/mozilla-1.9.1/rev/FIREFOX_3_5_8_RELEASE (GECKO1918_20100202_RELBRANCH)
http://hg.mozilla.org/dom-inspector/rev/f6c78804ebb4 (COMM_1_9_1_BRANCH)
http://hg.mozilla.org/chatzilla/rev/172aaaae2419 (COMM_1_9_1_BRANCH)
http://hg.mozilla.org/venkman/rev/f13c813e4ec6 (COMM_1_9_1_BRANCH)
L10n revisions according to opt-ins as listed in l10n-changesets (taken from the sign-off tool)
Notes
Build
- Updated l10n-changesets and release-config.py
- Updated and reconfigured buildmaster
- Kicked off with the following command:
buildbot sendchange --username=kairo --master=localhost:9010 --branch=releases/comm-1.9.1 -m "SeaMonkey 2.0.3build1" doit
- win32_repack failed on two slaves, looks like somehow the 2.0.2 files weren't deleted and our code didn't update what was there correctly, so they ended up not seeing the new tag and failing. I went into the slaves to correct that, stubbed out all earlier factories with the dummy, reduced the L10n build runs to win32-only, and kicked off the automation again.
Signing
We have no signing infrastructure for SeaMonkey right now, so I faked the signing step that is usually done after completion of builds and L10n repacks and before the update generation.
Logged onto stage-old.mozilla.org and ran fakesign.sh
as documented in 2.0b1 notes.
Updates and Verification
- l10n_verify and updates started automatically, triggered by the fake-signing, the update verification steps all were triggered by the updates step completing.
- L10n verification shows no diffs at all.
- Linux, Win32 and Mac verification are all green.
Push Updates to the beta Channel
~/bin/backupsnip 20100206-SeaMonkey-2.0.3-beta ~/bin/pushsnip 20100206-SeaMonkey-2.0.3-beta
Copy ZIPs
Updated zipcopy.sh
to provide ZIPs along with the installers for Windows and additionally copy the 64bit file over to contrib:
#!/bin/sh VERSION=2.0.3 BUILD=1 cd /home/ftp/pub/seamonkey/nightly/${VERSION}-candidates/build${BUILD} rsync -av --exclude=*.exe unsigned/win32/ win32/ mkdir contrib rsync -av linux-x86_64/en-US/seamonkey-${VERSION}.tar.bz2 \ contrib/seamonkey-${VERSION}.en-US.linux-x86_64.tar.bz2
Copy Language Packs
Used langpackmove.sh
as documented in 2.0b1 notes to move the langpacks into the directory we want them in for release.
Create Checksums
With make-checksums.sh
, created MD5SUMS and SHA1SUMS files containing all files we release - copying the README from last time and replacing the versions as needed, as well as doing the same for Linux x86_64 has been added to the script now:
#!/bin/sh VERSION=2.0.3 BUILD=1 PREV_VERSION=2.0.2 cd /home/ftp/pub/seamonkey/nightly/${VERSION}-candidates/build${BUILD} rm -f MD5SUMS SHA1SUMS find langpack/ -type f -print0 | xargs -0 md5sum >> MD5SUMS find linux-i686/ -type f -and -not -name "*.xpi" -print0 | xargs -0 md5sum >> MD5SUMS find mac/ -type f -and -not -name "*.xpi" -print0 | xargs -0 md5sum >> MD5SUMS find source/ -type f -print0 | xargs -0 md5sum >> MD5SUMS find update/ -type f -print0 | xargs -0 md5sum >> MD5SUMS find win32/ -type f -and -not -name "*.xpi" -print0 | xargs -0 md5sum >> MD5SUMS find langpack/ -type f -print0 | xargs -0 sha1sum >> SHA1SUMS find linux-i686/ -type f -and -not -name "*.xpi" -print0 | xargs -0 sha1sum >> SHA1SUMS find mac/ -type f -and -not -name "*.xpi" -print0 | xargs -0 sha1sum >> SHA1SUMS find source/ -type f -print0 | xargs -0 sha1sum >> SHA1SUMS find update/ -type f -print0 | xargs -0 sha1sum >> SHA1SUMS find win32/ -type f -and -not -name "*.xpi" -print0 | xargs -0 sha1sum >> SHA1SUMS chmod g+w MD5SUMS SHA1SUMS chgrp seamonkey MD5SUMS SHA1SUMS PREV_TAG=SEAMONKEY_`echo ${PREV_VERSION} | sed 'y/./_/'`_RELEASE CUR_TAG=SEAMONKEY_`echo ${VERSION} | sed 'y/./_/'`_RELEASE sed /home/ftp/pub/seamonkey/releases/${PREV_VERSION}/README \ -e "s/${PREV_TAG}/${CUR_TAG}/g" -e "s/${PREV_VERSION}/${VERSION}/g" \ > README cd contrib BASENAME64=seamonkey-${VERSION}.en-US.linux-x86_64 PREV_BASENAME64=seamonkey-${PREV_VERSION}.en-US.linux-x86_64 rm -f ${BASENAME64}.{MD5,SHA1}SUM md5sum ${BASENAME64}.tar.bz2 >> ${BASENAME64}.MD5SUM sha1sum ${BASENAME64}.tar.bz2 >> ${BASENAME64}.SHA1SUM chmod g+w ${BASENAME64}.MD5SUM ${BASENAME64}.SHA1SUM chgrp seamonkey ${BASENAME64}.MD5SUM ${BASENAME64}.SHA1SUM sed /home/ftp/pub/seamonkey/releases/${PREV_VERSION}/contrib/${PREV_BASENAME64}.README \ -e "s/${PREV_VERSION}/${VERSION}/g" \ > ${BASENAME64}.README
This time, the main README needed some editing to reflect that ChatZilla is now pulled from Mercurial, and the 64bit one is new, but the script will work find for the future.
Push To Mirrors
Used mirrorpush.sh
with some slight update to account for x86_64 to finally push the files to the public dir for mirrors to pick them up;
#!/bin/sh VERSION=2.0.3 BUILD=1 mkdir /pub/mozilla.org/seamonkey/releases/${VERSION}/ chmod g+ws /pub/mozilla.org/seamonkey/releases/${VERSION}/ rsync -av --exclude=*.log --exclude=*.txt --exclude=*.crashreporter-symbols.zip \ --exclude=*unsigned* --exclude=xpi --exclude=linux-x86_64 \ /pub/mozilla.org/seamonkey/nightly/${VERSION}-candidates/build${BUILD}/ \ /pub/mozilla.org/seamonkey/releases/${VERSION}/
Final Verification
Used 'Force Build' to start the final_verification builder, all tested URLs are HTTP 200 and 302 - ready for going public!
Publish Updates to the release Channel
~/bin/backupsnip 20100206-SeaMonkey-2.0.3 ~/bin/pushsnip 20100206-SeaMonkey-2.0.3
Wall Clock Time
Build
- buildbot sendchange: Fri Feb 5 16:49:30 PST 2010
- buildbot sendchange for win32_repack, take 2: Sat Feb 6 04:40:41 PST 2010
- tag:
- Start: Fri Feb 5 16:51:25 2010
- End: Fri Feb 5 17:00:53 2010
- Elapsed: 9 mins, 27 secs
- source:
- Start: Fri Feb 5 17:00:53 2010
- End: Fri Feb 5 17:09:40 2010
- Elapsed: 8 mins, 46 secs
- linux_build:
- Start: Fri Feb 5 17:07:33 2010
- End: Fri Feb 5 18:16:40 2010
- Elapsed: 1 hrs, 9 mins, 6 secs
- linux64_build (failed when manual interaction for ssh'ing to cvs was needed):
- Start: Fri Feb 5 17:05:43 2010
- End: Fri Feb 5 17:58:00 2010
- Elapsed: 52 mins, 17 secs
- linux64_build:
- Start: Fri Feb 5 18:06:39 2010
- End: Fri Feb 5 19:13:55 2010
- Elapsed: 1 hrs, 7 mins, 15 secs
- win32_build:
- Start: Fri Feb 5 17:06:00 2010
- End: Fri Feb 5 19:02:22 2010
- Elapsed: 1 hrs, 56 mins, 22 secs
- macosx_build:
- Start: Fri Feb 5 17:27:52 2010
- End: Fri Feb 5 21:13:50 2010
- Elapsed: 3 hrs, 45 mins, 58 secs
- linux_repack (21 locales):
- Start: Fri Feb 5 18:33:33 2010
- End: Fri Feb 5 19:21:51 2010
- win32_repack (21 locales) - failed, probably due to leftovers from 2.0.2:
- Start: Fri Feb 5 19:08:22 2010
- End: Fri Feb 5 19:24:22 2010
- win32_repack (21 locales):
- Start: Sat Feb 6 05:05:05 2010
- End: Sat Feb 6 06:24:31 2010
- macosx_repack (21 locales):
- Start: Fri Feb 5 21:14:22 2010
- End: Fri Feb 5 22:16:19 2010
- updates:
- Start: Sat Feb 6 07:31:44 2010
- End: Sat Feb 6 08:43:57 2010
- Elapsed: 1 hrs, 12 mins, 13 secs
Signing
- Done manually via fakesign.sh
- Start: Sat Feb 6 06:46:09 PST 2010
- End: Sat Feb 6 06:46:55 PST 2010
Verification
- l10n_verification:
- Start: Sat Feb 6 08:13:15 2010
- End: Sat Feb 6 08:52:45 2010
- Elapsed: 39 mins, 29 secs
- linux_update_verify:
- Start: Sat Feb 6 08:43:58 2010
- End: Sat Feb 6 09:01:33 2010
- Elapsed: 17 mins, 35 secs
- win32_update_verify:
- Start: Sat Feb 6 08:43:58 2010
- End: Sat Feb 6 09:38:27 2010
- Elapsed: 54 mins, 29 secs
- macosx_update_verify:
- Start: Sat Feb 6 08:52:45 2010
- End: Sat Feb 6 10:19:27 2010
- Elapsed: 1 hrs, 26 mins, 41 secs
- final_verification:
- Start: Wed Feb 17 10:45:50 2010
- End: Wed Feb 17 11:02:36 2010
- Elapsed: 16 mins, 45 secs
Update Channels
- Push to beta: Sat Feb 6 15:16:32 PST 2010
- Push to mirrors: Wed Feb 17 08:22 PST 2010
- Push to release: Wed Feb 17 13:47:57 PST 2010