SeaMonkey:Release Process:2.0.1

From MozillaWiki
Jump to: navigation, search

Build Harness

SeaMonkey:Release Automation

Bugs

Tracking bug filed as bug 532673

Build Engineer

Robert Kaiser

Signed-off Revisions

http://hg.mozilla.org/releases/comm-1.9.1/rev/10d35c7b881a
http://hg.mozilla.org/releases/mozilla-1.9.1/rev/FIREFOX_3_5_6_RELEASE
http://hg.mozilla.org/dom-inspector/rev/SEAMONKEY_2_0_RELEASE
http://hg.mozilla.org/venkman/rev/SEAMONKEY_2_0_RELEASE
chatzilla CVS timestamp: 2009-10-14 00:00

L10n revisions according to opt-ins as listed in l10n-changesets

Build 2

Same for everything else, update to l10n-changesets to pick up a working es-ES copy.

This needs release_config.py to be updated for build 2 and http://hg.mozilla.org/releases/comm-1.9.1/rev/58aa297c80b9 on COMM1916_20091204_RELBRANCH.

Notes

Build

  • Updated shipped-locales, l10n-changesets, 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.1build1" doit
  • *_repack turned red for es-ES as they had taken ChatZilla changes that are not in the ChatZilla version we ship. I posted in the L10n newsgroups and Ricardo updated it for the correct version.

Build 2

  • Updated l10n-changesets, release-config.py for the new es-ES version and build2
  • 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.1build2" doit

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 only shows it being new, no other diffs at all.
    • Linux, Win32 and Mac verification is green.

Publish Updates to the beta channel

Realized that useBetaChannel wasn't set to 1 in release_config.py, so logged into the machine that ran the updates factory and did the snippet upload manually:

rsync -av aus2.beta/ seabld@aus2-community.mozilla.org:/opt/aus2/snippets/staging/20091206-SeaMonkey-2.0.1-beta

Then could run the usual commands on aus2-community:

~/bin/backupsnip 20091206-SeaMonkey-2.0.1-beta
~/bin/pushsnip 20091206-SeaMonkey-2.0.1-beta

Copy ZIPs

Used zipcopy.sh as documented in 2.0b1 notes to provide ZIPs along with the installers for Windows.

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 which I created last time around, I created MD5SUMS and SHA1SUMS files containing all files we release. Also, I copied the README from last time and modified it as needed.

Re-create Correct Beta Snippets

Beta snippets have wrongly been created with bouncer URLs, need to recreate them from the betatest ones, pointing to ftp.m.o instead.

rsync -av /opt/aus2/snippets/staging/20091206-SeaMonkey-2.0.1-test/ /opt/aus2/snippets/staging/20091211-SeaMonkey-2.0.1-beta/
cd /opt/aus2/snippets/staging/20091211-SeaMonkey-2.0.1-beta/SeaMonkey/
rm -rf */*/*/*/releasetest
for dir in */*/*/*; do mv -v $dir/betatest $dir/beta; done
find -name "*.txt" -exec sed -i -e "s|url=http://stage-old.mozilla.org/%7Curl=http://ftp.mozilla.org/%7C" {} ";"
cd /opt/aus2/snippets/staging/

Then, push those release snippets:

~/bin/backupsnip 20091211-SeaMonkey-2.0.1-beta
~/bin/pushsnip 20091211-SeaMonkey-2.0.1-beta

Push To Mirrors

Updated mirrorpush.sh and ran it to finally push the files to the public dir for mirrors to pick them up:

#!/bin/sh

VERSION=2.0.1
BUILD=2

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 \
  /pub/mozilla.org/seamonkey/nightly/${VERSION}-candidates/build${BUILD}/ \
  /pub/mozilla.org/seamonkey/releases/${VERSION}/
mkdir /pub/mozilla.org/seamonkey/releases/${VERSION}/contrib/

Final Verification, #1

  • Used 'Force Build' to start the final_verification builder, most tested URLs are HTTP 200 and 302, all partials are 404 as we did give bouncer wrong info - we can correct this on our side though.

Re-create release partial update files and correct releasetest and release Snippets

We wrongly made bouncer have partial updates be named for 2.0 final instead of 2.0rc2 like the release automation thought we would/should. We're renaming the files on stage to match bouncer:

find /pub/mozilla.org/seamonkey/releases/2.0.1/update/ -type f -name "*.partial.mar" | perl -nle '$nf = $_; if ( $nf =~ s/rc2// ) { system("mv","-v",$_,$nf)};'

releasetest and release snippets have a "seamonkey-2.0.1-partial-2.0rc2" name in the bouncer URL due to all that, where it actually should be "seamonkey-2.0.1-partial-2.0" now. We need to move them to the URLs bouncer has.

rsync -av /opt/aus2/snippets/staging/20091206-SeaMonkey-2.0.1-test/ /opt/aus2/snippets/staging/20091215-SeaMonkey-2.0.1-releasetest/
cd /opt/aus2/snippets/staging/20091215-SeaMonkey-2.0.1-releasetest/SeaMonkey/
rm -rf */*/*/*/betatest
find -name "partial.txt" -exec sed -i -e "s|product=seamonkey-2.0.1-partial-2.0rc2|product=seamonkey-2.0.1-partial-2.0|" {} ";"
cd /opt/aus2/snippets/staging/
rsync -av /opt/aus2/snippets/staging/20091215-SeaMonkey-2.0.1-releasetest/ /opt/aus2/snippets/staging/20091215-SeaMonkey-2.0.1/
cd /opt/aus2/snippets/staging/20091215-SeaMonkey-2.0.1/SeaMonkey/
for dir in */*/*/*; do mv -v $dir/releasetest $dir/release; done
cd /opt/aus2/snippets/staging/

Then, push the releasetest snippets:

~/bin/backupsnip 20091215-SeaMonkey-2.0.1-releasetest
~/bin/pushsnip 20091215-SeaMonkey-2.0.1-releasetest

Final Verification, #2

  • Again used 'Force Build' on it, all tested URLs are HTTP 200 and 302 now - everything good to go!

Publish Updates to the release Channel

~/bin/backupsnip 20091215-SeaMonkey-2.0.1
~/bin/pushsnip 20091215-SeaMonkey-2.0.1

Wall Clock Time

Build

  • buildbot sendchange: Fri Dec 4 10:24:50 PST 2009
  • tag:
    • Start: Fri Dec 4 10:24:51 2009
    • End: Fri Dec 4 10:36:22 2009
    • Elapsed: 11 mins, 30 secs
  • source:
    • Start: Fri Dec 4 10:36:22 2009
    • End: Fri Dec 4 10:44:26 2009
    • Elapsed: 8 mins, 3 secs
  • linux_build:
    • Start: Fri Dec 4 11:40:13 2009
    • End: Fri Dec 4 12:45:17 2009
    • Elapsed: 1 hrs, 5 mins, 4 secs
  • win32_build:
    • Start: Fri Dec 4 10:43:19 2009
    • End: Fri Dec 4 12:55:25 2009
    • Elapsed: 2 hrs, 12 mins, 5 secs
  • macosx_build:
    • Start: Fri Dec 4 12:08:20 2009
    • End: Fri Dec 4 16:48:34 2009
    • Elapsed: 4 hrs, 40 mins, 13 secs
  • linux_repack (20 locales): Failure in es-ES (chatzilla)
    • Start: Fri Dec 4 12:45:17 2009
    • End: Fri Dec 4 13:18:39 2009
  • win32_repack (20 locales): Failure in es-ES (chatzilla)
    • Start: Fri Dec 4 12:55:25 2009
    • End: Fri Dec 4 14:07:58 2009
  • macosx_repack (20 locales): Failure in es-ES (chatzilla)
    • Start: Fri Dec 4 17:29:02 2009
    • End: Fri Dec 4 19:39:23 2009

Build 2

  • buildbot sendchange: Sun Dec 6 07:25:10 PST 2009
  • tag:
    • Start: Sun Dec 6 07:25:11 2009
    • End: Sun Dec 6 07:36:58 2009
    • Elapsed: 11 mins, 46 secs
  • source:
    • Start: Sun Dec 6 07:36:59 2009
    • End: Sun Dec 6 07:45:14 2009
    • Elapsed: 8 mins, 15 secs
  • linux_build:
    • Start: Sun Dec 6 07:36:58 2009
    • End: Sun Dec 6 09:22:11 2009
    • Elapsed: 1 hrs, 29 mins, 9 secs
  • win32_build:
    • Start: Sun Dec 6 07:36:58 2009
    • End: Sun Dec 6 10:13:26 2009
    • Elapsed: 2 hrs, 36 mins, 27 secs
  • macosx_build:
    • Start: Sun Dec 6 07:56:40 2009
    • End: Sun Dec 6 11:40:23 2009
    • Elapsed: 3 hrs, 43 mins, 43 secs
  • linux_repack (20 locales):
    • Start: Sun Dec 6 09:22:11 2009
    • End: Sun Dec 6 09:49:24 2009
  • win32_repack (20 locales):
    • Start: Sun Dec 6 10:13:26 2009
    • End: Sun Dec 6 11:16:08 2009
  • macosx_repack (20 locales):
    • Start: Sun Dec 6 12:18:42 2009
    • End: Sun Dec 6 13:55:38 2009
  • updates:
    • Start: Sun Dec 6 15:49:26 2009
    • End: Sun Dec 6 17:04:20 2009
    • Elapsed: 1 hrs, 14 mins, 53 secs

Signing

Done manually at Sun Dec 6 15:32 2009.

Verification

  • l10n_verify:
    • Start: Sun Dec 6 15:54:59 2009
    • End: Sun Dec 6 16:56:20 2009
    • Elapsed: 1 hrs, 1 mins, 21 secs
  • linux_update_verify:
    • Start: Sun Dec 6 17:04:20 2009
    • End: Sun Dec 6 17:23:43 2009
    • Elapsed: 19 mins, 22 secs
  • win32_update_verify:
    • Start: Sun Dec 6 17:04:20 2009
    • End: Sun Dec 6 19:25:13 2009
    • Elapsed: 2 hrs, 20 mins, 52 secs
  • macosx_update_verify:
    • Start: Sun Dec 6 17:04:20 2009
    • End: Sun Dec 6 18:52:59 2009
    • Elapsed: 1 hrs, 48 mins, 38 sec

Push to beta

Mon Dec 7 13:51 PST 2009