Visit Mozilla.org

Thunderbird 2.0.0.13:BuildNotes

From MozillaWiki

Using Bootstrap (RELEASE_AUTOMATION_M7_1) but starting steps manually.

Contents

Build Engineers [edit]

nthomas, rick

Version/config bump bug [edit]

bug 426259

Bonsai queries [edit]

Checking for no changes on the rel branch since Fx20013

Tags [edit]

Using the GECKO181_20080311_RELBRANCH.

Module Tag Pull date
cvsroot/mozilla THUNDERBIRD_2_0_0_13_RELEASE GECKO181_20080311_RELBRANCH @ 2008-03-31 16:40 PDT
THUNDERBIRD_2_0_0_13_RC1 GECKO181_20080311_RELBRANCH @ 2008-03-31 16:40 PDT
l10n/l10n THUNDERBIRD_2_0_0_13_RELEASE GECKO181_20080311_RELBRANCH @ 2008-03-31 16:50 PDT
THUNDERBIRD_2_0_0_13_RC1 GECKO181_20080311_RELBRANCH @ 2008-03-31 16:50 PDT

NB: Talkback not listed, we're using pre-built binaries (bug 403701). It was still tagged because this change is very new, and the automation needs remedial lessons.

Build data [edit]

See page history for BuildIDs of prior RCs

Type Build ID SHA1 Push date Build machine
[Windows installer] RC1: patrocles (cerberus-vm for l10n)
[Mac compressed] RC1: xserve02
[Linux compressed] RC1: crazyhorse (karma for l10n)

Detailed Notes [edit]

Automation [edit]

Bootstrap tag: RELEASE_AUTOMATION_M8_1

Setup before starting:

  • used existing version bump bug to attached diff for tb-moz18-bootstrap.cfg
  • revert mozilla/config/milestone.txt and mozilla/client.mk on the rel branch so that Tagging can substitute cleanly (FIXME: need bug)
  • ensure that machines have enough resources (bug 393274)
    • On production-1.8-master, remove private and public areas:
      • rm -rf /data/cltbld/firefox-*
      • rm -rf /builds/tags/* - did not do this, plenty of space
      • in /home/ftp/pub/firefox/nightly/, remove all except the 2.0.0.x-candidates directory for the previous release
      • pull in 2.0.0.12 files with rsync -av stage.mozilla.org:/home/ftp/pub/thunderbird/nightly/2.0.0.12-candidates /data/ftp/pub/thunderbird/nightly/
    • On the build machines (see table above), checked that there was sufficient working space (~ 1GB), and stopped tinderbox. Also verified there is space available on bm-xserve04 for l10n-verify.
    • On prometheus-vm, checked that there was space for another update run (4GB)
  • on each machine, setup release automation using the tag above
cd /builds/release   # or /cygdrive/X/builds/release
cvs -nq up -r RELEASE_AUTOMATION_M8_1
# check for merges (M) or conflicts (C); if any found, check for local changes
cvs -q up -r RELEASE_AUTOMATION_M8_1
cd configs
cvs up -A     # in case we need to make changes later
cd ..
rm bootstrap.cfg logs
ln -s configs/tb-moz18-bootstrap.cfg bootstrap.cfg
mkdir -p old-logs/logs.tb20013/rc1
ln -s old-logs/logs.tb20013/rc1 logs

make test

Some machines don't have the perl module Config::General so comment out

use Config::General;

at the top of Bootstrap/Step/PatcherConfig.pm. Only need this on prometheus-vm anyway, which has it.

Tag [edit]

On production-1.8-master in /builds/release:

./release -o Tag 2>&1 | tee logs/release-Tag-RC1.log

Forgot to revert version in mozilla/config/milestone.txt and tags in mozilla/client.mk, so Tagging failed. Committed this fix to the relbranch, removed /builds/tags/THUNDERBIRD_2_0_0_13_RC1/, and moved the logs to log/first-taggging-attempt.

Source [edit]

On production-1.8-master in /builds/release:

./release -o Source 2>&1 | tee logs/release-Source-RC1.log

Build [edit]

On each tinderbox, cd to /builds/release (prefix with /cygdrive/e/ on Windows) and

./release -o TinderConfig 2>&1 | tee logs/release-TinderConfig.log
./release -o Build 2>&1 | tee logs/release-Build.log

Needed to comment out lines 43-49 of Build.pm on Windows t'box, since Cygwin complains "Permissied denied" trying to execute those lines. The disks are already mounted in binmode.

ssh key issues: nightly builds ers converted to tbirdbld, releases still use cltbld (*pulls hair*). On each box,

  • shut down tinderbox builds
  • acquire cltbld key and install ~/.ssh
  • update CVS/Root in
    • /builds/tinderbox/mozilla/tools/tinderbox
    • /builds/tinderbox/Tb-Mozilla1.8-Release/tinderbox-configs

After the build is done, reverse the changes in ~/.ssh and mozilla/tools/tinderbox. (bm-xserve02 uses ffxbld, others use tbirdbld)

Had ssh_key definitions in the tinderbox-configs, using the tbirdbld key with the cltbld account, so the first attempt at en-US hung at a password prompt. Fixed and restarted.

Repack [edit]

On the tinderboxes in the table above, do the ssh key changes as in Build, then

./release -o Repack -e 2>&1 | tee logs/release-Repack-Execute.log
./release -o Repack -p 2>&1 | tee logs/release-Repack-Push.log
./release -o Repack -a 2>&1 | tee logs/release-Repack-Announce.log

After win32 l10n, had to set cerberus-vm back to text mode

mount -t -sc /cygdrive

so that tinderbox would run. This box was very slow, taking 7 hours to complete the repack.

Undo the ssh changes like Build when they are done.