SeaMonkey:Release Process:2.0a1

From MozillaWiki
Jump to: navigation, search

Build Engineer

Robert Kaiser

Signed-off Revisions

http://hg.mozilla.org/comm-central/rev/d7ce1e64f1cc
http://hg.mozilla.org/mozilla-central/rev/920a4326d108
http://hg.mozilla.org/dom-inspector/rev/215eee579d47
cvs trunk as of 2008-09-24 14:00 PDT

Bugs

Tracking bug filed as bug 456873

Tags

Module Tag Changeset
comm-central SEAMONKEY_2_0a1_BUILD1
SEAMONKEY_2_0a1_RELEASE
d7ce1e64f1cc
mozilla-central SEAMONKEY_2_0a1_BUILD1
SEAMONKEY_2_0a1_RELEASE
920a4326d108
dom-inspector SEAMONKEY_2_0a1_BUILD1
SEAMONKEY_2_0a1_RELEASE
215eee579d47
cvs.mozilla.org: extensions/typeaheadfind, extensions/wallet, extensions/irc, extensions/venkman SEAMONKEY_2_0a1_BUILD1
SEAMONKEY_2_0a1_RELEASE
-D '2008-09-24 14:00 PDT'

Tagging

Done completely manually on my local machine.

Started checkout of comm-central at 2008-09-24 14:42 PDT, pulled subtrees by revision IDs handed to client.py via options, tagged cvs directories with

cvs -d:ext:kairo%kairo.at@cvs.mozilla.org/cvsroot tag SEAMONKEY_2_0a1_BUILD1
cvs -d:ext:kairo%kairo.at@cvs.mozilla.org/cvsroot tag SEAMONKEY_2_0a1_RELEASE

Tagged dom-inspector and mozilla-central modules with

hg tag -m "tag <repo> for SeaMonkey 2.0a1 build1" -r revID SEAMONKEY_2_0a1_BUILD1
hg tag -m "tag <repo> for SeaMonkey 2.0a1 release" -r revID SEAMONKEY_2_0a1_RELEASE

Done checkins and tagging to comm-central as in bmo attachment 340235, finished 2008-09-24 15:50 PDT.

Build data

Type Build ID SHA1 Push date Build machine
[Windows installer/zip] 20080925121544 ad3a2f3143658f9b65de4df8ed82d61a7db50a25
78954b815b5ab18fe68c39d6eebac0af49b492f4
2008-09-25 13:11 PDT cb-sea-win32-tbox
[Mac dmg] 20080924175546 9fb3a5ba9ab9af0cd0471de459e3e1629e5e86fd 2008-09-25 13:16 PDT cb-xserve02
[Linux tar.bz2] 20080924175508 291d33e6a0da916cd35e6be0a6afd3ba8f5cb5c0 2008-09-25 13:15 PDT cb-sea-linux-tbox

Build

Started to work on machines at about 2008-09-24 16:15 PDT, launching a "screen sh" session on Mac and Linux and a new MozillaBuild bash shell window on Windows. At 2008-09-24 17:15 PDT, all three machines were in the main build step and could be left unattended.

Or so I thought. 5 minutes after this I realized we didn't remove the "pre" from the 2.0a1 version number on the release tag, so I stopped the builds and cleaned the objdirs, while Justin Wood (Callek) corrected the source and moved the tags. At 2008-09-24 17:45 PDT I could go into the machines and restarted building, about 20 minutes later I once again was confident I could leave them unattended while building.

Excluding the version number error, basically, those are the commands I used until that point:

hg clone -r SEAMONKEY_2_0a1_RELEASE http://hg.mozilla.org/comm-central/
cd comm-central
python client.py checkout
mkdir ../objdir
sed "s/channel=nightly/channel=beta/" /builds/slave/comm-central-<os>/build/.mozconfig > .mozconfig
MOZ_OBJDIR=../objdir/ make -f client.mk build

For Windows, the build commands needs more env vars, I used:

export MOZ_OBJDIR=../objdir/
export BUILD_PALMSYNC=1
export PALM_CDK_DIR=/c/PALMCDK403
make -f client.mk build

About 2008-09-25 09:05 PDT, I continued the process with creating and uploading symbols and packages. There are some known problems with symbol generation on Mac and I saw some strange error messages on both Mac and Linux, but after re-runs showed the same and #build people couldn't help, I decided we can accept that for Alpha. I was done with creating and uploading packages and source at about 2008-09-25 14:00 PDT.

The following steps were used for that:

cd ../objdir
export SYMBOL_SERVER_HOST=dm-symbolpush01.mozilla.org
export SYMBOL_SERVER_USER=seabld
export SYMBOL_SERVER_PATH=/mnt/netapp/breakpad/symbols_sea/
export SYMBOL_SERVER_SSH_KEY=~/.ssh/seabld_dsa
make buildsymbols
make uploadsymbols
make package
make -C mozilla/tools/update-packaging

On Mac, this needed to be done in ../objdir/ppc, and the "make package" needed to be run from a non-screen graphical terminal session or hdiutil would go into a busy hang. On all platforms, I used the expanded absolute path instead of "~", and on Windows, an additional "make installer" step was performed after "make package". The .mar generation with update-packaging was done so that we potentially can create partial MARs for Alpha 2.

Detailed logs of all commands are attached to the tracker bug as build logs.

Source

Created a source tarball on my local (Linux) machine:

hg clone -r SEAMONKEY_2_0a1_RELEASE http://hg.mozilla.org/comm-central/
cd comm-central
python client.py checkout
rm -rf .hg* mozilla/.hg* mozilla/extensions/inspector/.hg*
tar -cjf ../seamonkey-2.0a1-source.tar.bz2 .

Stage

mkdir -p /pub/mozilla.org/seamonkey/nightly/2.0a1-candidates/build1
mkdir /pub/mozilla.org/seamonkey/nightly/2.0a1-candidates/build1/update
mkdir /pub/mozilla.org/seamonkey/nightly/2.0a1-candidates/build1/source
chgrp -R seamonkey /pub/mozilla.org/seamonkey/nightly/2.0a1-candidates
chmod -R g+ws /pub/mozilla.org/seamonkey/nightly/2.0a1-candidates

On the build machines, upload packages to those directories, see Linux as an example:

scp -i ~/.ssh/seabld_dsa mozilla/dist/seamonkey-2.0a1.en-US.linux-i686.tar.bz2 seabld@stage.mozilla.org:/home/ftp/pub/seamonkey/nightly/2.0a1-candidates/build1/
scp -i ~/.ssh/seabld_dsa mozilla/dist/update/seamonkey-2.0a1.en-US.linux-i686.complete.mar seabld@stage.mozilla.org:/home/ftp/pub/seamonkey/nightly/2.0a1-candidates/build1/update/