SeaMonkey:Release Process:2.0.1
Contents
- 1 Build Harness
- 2 Bugs
- 3 Build Engineer
- 4 Signed-off Revisions
- 5 Notes
- 5.1 Build
- 5.2 Build 2
- 5.3 Signing
- 5.4 Updates and Verification
- 5.5 Publish Updates to the beta channel
- 5.6 Copy ZIPs
- 5.7 Copy Language Packs
- 5.8 Create Checksums
- 5.9 Re-create Correct Beta Snippets
- 5.10 Push To Mirrors
- 5.11 Final Verification, #1
- 5.12 Re-create release partial update files and correct releasetest and release Snippets
- 5.13 Final Verification, #2
- 5.14 Publish Updates to the release Channel
- 6 Wall Clock Time
Build Harness
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