SeaMonkey:Release Process:2.0.3

From MozillaWiki
Jump to: navigation, search

« SeaMonkey 2.0.3

Build Harness

SeaMonkey:Release Automation

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