SeaMonkey:Release Process:2.0a1

From MozillaWiki
Jump to: navigation, search

Build Engineer

Robert Kaiser

Signed-off Revisions
cvs trunk as of 2008-09-24 14:00 PDT


Tracking bug filed as bug 456873


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


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 via options, tagged cvs directories with

cvs tag SEAMONKEY_2_0a1_BUILD1

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
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


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
cd comm-central
python checkout
mkdir ../objdir
sed "s/channel=nightly/channel=beta/" /builds/slave/comm-central-<os>/build/.mozconfig > .mozconfig
MOZ_OBJDIR=../objdir/ make -f build

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

export MOZ_OBJDIR=../objdir/
make -f 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_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.


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

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


mkdir -p /pub/
mkdir /pub/
mkdir /pub/
chgrp -R seamonkey /pub/
chmod -R g+ws /pub/

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
scp -i ~/.ssh/seabld_dsa mozilla/dist/update/seamonkey-2.0a1.en-US.linux-i686.complete.mar