Thunderbird3.0a1:BuildNotes

Build Engineers

rick, nthomas

Bug bug 411171 is no longer to be considered a blocker for the 3.0a1 release. Will try to build and upload the symbols manually.

Bonsai queries

Last checkins for alpha 1:

  • cvsroot -
  • l10n -

Bugs

Tracking bug for Thunderbird 3.0a1 - bug 431788

Tags

Note: Thunderbird alpha tags to be reviewed. rick 2008-05-01

Module Tag Pull date
cvsroot/mozilla GECKO19_20080506_RELBRANCH HEAD @ 2008-05-01 03:00 PDT
THUNDERBIRD_3_0a1_BUILD1 GECKO19_20080506_RELBRANCH @ 2008-05-06 15:25 PDT
THUNDERBIRD_3_0a1_RELEASE GECKO19_20080506_RELBRANCH @ 2008-05-06 15:25 PDT
l10n/l10n not tagged, no locales for this release

Build data

Type Build ID SHA1 Push date Build machine
[Windows installer] en-US: tbnewref-win32-tbox
[Mac compressed] en-US: bm-xserve07
[Linux compressed] en-US: tb-linux-tbox

Build 1

Bootstrap tag: RELEASE_AUTOMATION_M9

Setup before starting:

  • create release branch of tinder-config.pl and mozconfig (for b2: compare nightly and release mozconfig/tinder-config.pl files, merge any desired changes)
  • On bm-xserve07, tb-linux-tbox, tbnewref-win32-tbox, set up the Bootstrap code
cd /builds/   # /e/builds/ on windows
cvs -d tbirdbld@cvs.mozilla.org:/cvsroot co -d release -r RELEASE_AUTOMATION_M9 mozilla/tools/release
cd release/configs
cvs up -A     # in case we need to make changes later
cd ..
ln -s configs/tb-moz19-bootstrap.cfg bootstrap.cfg
mkdir -p old-logs/logs.tb30a1/build1
ln -s old-logs/logs.tb30a1/build1 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. This needed to be commented out on tb-linux-tbox which will be used for the Tag and Source steps.

  • On bm-xserve07, tb-linux-tbox, tbnewref-win32-tbox, stop running tinderbox and set up tinderbox directories (when ready to actually start the builds)
cd /builds/tinderbox/mozilla/tools/tinderbox
cvs up -r RELEASE_AUTOMATION_M9
# on linux and mac (skip to windows otherwise)
cd /builds/tinderbox
mkdir Tb-Mozilla1.9-Release
cd Tb-Mozilla1.9-Release
../mozilla/tools/tinderbox/install-links
# on windows
cd /e/
mkdir tb19rel
cd tb19rel
<copy in files from tinderbox dir>
# all platforms
rm tinderbox
cvs -d tbirdbld@cvs.mozilla.org:/cvsroot co -r release -d tinderbox-configs mozilla/tools/tinderbox-configs/thunderbird/linux # or macosx or win32
ln -s tinderbox-configs/mozconfig
ln -s tinderbox-configs/tinder-config.pl
  • on tb-linux-tbox (once off setup for Stage)
# as root
mkdir -p /data/cltbld
chown cltbld:cltbld /data/cltbld
ln -s /builds/release/bin /data/cltbld

Tag

On tb-linux-tbox in /builds/release:

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

Failed

Died right off the bat. This was because the /builds/logs directory did not exist. This directory was created with 775 and owned by cltbld:cltbld.

The /builds/tags/THUNDERBIRD_3_0a1_BUILD1/ directory, which was created by the first failed run, was also removed. The Tag command was then re-run.

Failed a second time

The tagging itself went without incident. When it came time to bump the version.txt, the |cvs ci| failed with

The tbirdbld account is not permitted to check-in to this CVS repository.
If you think it should be allowed to do so, please contact
the system administrators at sysadmins@mozilla.org.
cvs commit: Pre-commit check failed

Manual rescue is in progress by nthomas.

  • fixed client.mk - where LDAPCSDK_CO_TAG had been replaced incorrectly (recent regression from bug 426083)
  • set config/milestone.txt back to 1.9pre
  • checked into relbranch, logging to /builds/release/logs/release-Tag-RC1-manual.log
  • in /builds/tags/THUNDERBIRD_3_0a1_BUILD1/cvsroot/mozilla/
echo "Tagging THUNDERBIRD_3_0a1_BUILD1" >> /builds/release/logs/release-Tag-RC1-manual.log
cvs -d cltbld@cvs.mozilla.org:/cvsroot tag THUNDERBIRD_3_0a1_BUILD1 | tee -a /builds/release/logs/release-Tag-RC1-manual.log
echo >> /builds/release/logs/release-Tag-RC1-manual.log
echo "Tagging THUNDERBIRD_3_0a1_RELEASE" >> /builds/release/logs/release-Tag-RC1-manual.log
cvs -d cltbld@cvs.mozilla.org:/cvsroot tag THUNDERBIRD_3_0a1_RELEASE | tee -a /builds/release/logs/release-Tag-RC1-manual.log
  • skipped tagging l10n as not building any locales (need to add a shipped-locales on trunk though)
  • put back symlinks in ~/.ssh to tbirdbld

Source

On tb-linux-tbox in /builds/release:

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

Build

1. Stop tinderbox

# on linux & mac
cd /builds/tinderbox
./tinderbox multi stop  # ps -ef | auxww to see check for tinderbox stopped and kill otherwise
# on windows
# ^C in the msys window where multi-tinderbox is running

2. Update tinderbox code to the latest release automation milestone

# on linux and mac
cd /builds/tinderbox/mozilla/tools/tinderbox
# on win32
cd /e/builds/tinderbox/mozilla/tools/tinderbox
# all
cvs up -r RELEASE_AUTOMATION_M9

3. Symlink the ssh keys

cd ~/.ssh
rm id_dsa; ln -s cltbld_dsa id_dsa
rm id_dsa.pub; ln -s cltbld_dsa.pub id_dsa.pub

4. Create the tinderbox build directories

# on linux and mac (skip to windows otherwise)
cd /builds/tinderbox
mkdir Tb-Mozilla1.9-Release
cd Tb-Mozilla1.9-Release
../mozilla/tools/tinderbox/install-links
rm tinderbox
# on windows
cd /e/
mkdir tb19rel
cd tb19rel
cp /e/builds/tinderbox/mozilla/tools/tinderbox/{build-seamonkey.pl,build-seamonkey-util.pl,gettime.pl,bloatdiff.pl,tinder-defaults.pl,reportdata.pl,post-mozilla-rel.pl,post-mozilla-l10n.pl} .
cp post-mozilla-rel.pl post-mozilla.pl
# all platforms
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -r release -d tinderbox-configs mozilla/tools/tinderbox-configs/thunderbird/linux # or macosx or win32
ln -s tinderbox-configs/mozconfig
ln -s tinderbox-configs/tinder-config.pl

5. Checkout the release code and set up log dir, log and bootstrap links

cd /builds
cvs -d cltbld@cvs.mozilla.org:/cvsroot co -d release -r RELEASE_AUTOMATION_M9 mozilla/tools/release
cd release/configs
cvs up -A
cd ..
rm bootstrap.cfg logs
ln -s configs/tb-moz19-bootstrap.cfg bootstrap.cfg
mkdir -p old-logs/logs.tb30a1/rc1
ln -s old-logs/logs.tb30a1/rc1 logs
mkdir -p /builds/logs

make test

Then start the build, by changing directory to /builds/release (prefix with /e/ on Windows) and

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

After the build is complete, switch the keys back to tbirdbld, cvs up -A in /builds/tinderbox/mozilla/tools/tinderbox and restart tinderbox

TinderConfig Step Failures

All platforms had the error (or similar to):

Step TinderConfig died: Bootstrap::Config::Bump - Could not open /builds/config/thunderbird-3.0a1-build1/l10n_release/tinder-config.pl for reading: No such file  or directory at Bootstrap/Config.pm line 334

since we are only building en-US for the alpha build. As nthomas notes,

14:53:35 <rick> and it's done.  again with same l10n_release/tinder-config.pl issue
14:53:47 <nthomas> lets just make a note of that
14:54:12 <nthomas> We need some sort of createLocales flag in the bootstrap config  
                   to disable all this stuff

All tinder-config.pl generated by the TinderConfig step look good. Proceeding with the Build step itself.

Build Step

All Build steps are away and running. MozillaRelease

MacOSX: 2008-05-07 14:45 PDT
Linux: 2008-05-07 15:00 PDT
Windows: 2008-05-07 15:25 PDT