From MozillaWiki
Jump to: navigation, search

Build Engineers

nthomas, joduinn
Version/config bump/tracking in bug 468741

Bonsai queries

Build 1: cvsroot


Build 1:

Module Branch Tag Pull date
cvsroot/mozilla GECKO181_20081202_RELBRANCH THUNDERBIRD_2_0_0_19_BUILD1 THUNDERBIRD_2_0_0_9_RELEASE 2008-12-09 20:01 PST
l10n/l10n GECKO181_20081202_RELBRANCH THUNDERBIRD_2_0_0_19_BUILD1 THUNDERBIRD_2_0_0_9_RELEASE 2008-12-09 20:30 PST

Build data

Type Build machine
[Windows installer/zip] production-patrocles
[Mac compressed] bm-xserve05
[Linux compressed] production-crazyhorse


Build 1

Using RELEASE_AUTOMATION_M11, same as for recent releases

Slave cleanup

  • production-prometheus-vm
    • need ~10GB for tag, source, update generation and linux verify, stage; already had 18GB free
  • production-crazyhorse
    • 22GB free on /builds
    • update tinderbox to automation tag
      • cd /builds/tinderbox/mozilla/tools/tinderbox; cvs up -CPd -r RELEASE_AUTOMATION_M11
  • bm-xserve05
    • need ~20GB for mac builds, l10n_verify, mac update verify (but 16GB already allocated for builds); 15G free already
    • update tinderbox to automation tag
      • cd /builds/tinderbox/mozilla/tools/tinderbox; cvs up -CPd -r RELEASE_AUTOMATION_M11
  • production-patrocles
    • 51GB free
    • update tinderbox to automation tag
      • cd /cygdrive/e/builds/tinderbox/mozilla/tools/tinderbox; cvs up -CPd -r RELEASE_AUTOMATION_M11
  • Land changes and retag tb-moz18-bootstrap.cfg
    • cvs tag -d RELEASE_AUTOMATION_M11 tb-moz18-bootstrap.cfg # to delete the tag on the old version
    • cvs tag RELEASE_AUTOMATION_M11 tb-moz18-bootstrap.cfg # to tag the new version

Setup master before starting:

  • update mozilla/tools/buildbot-configs/automation/production/tb-master.cfg for most recent milestone of bootstrap (no change this release)
  • as buildmaster@production-1.8-master, cd /builds/buildbot/Thunderbird-Automation/buildbot-configs. Check for local diff, revert any changes from last release, dry run a cvs up, then cvs up (only had to revert previous changes, nothing to pull in for this release)
  • master.cfg is "Locally Modified" to contain passwords; identical to repository version otherwise.
  • Ran 'buildbot reconfig /home/buildmaster/Thunderbird-Automation'
  • Buildbot waterfall is here (MPT-VPN); this is a separate instance from the Firefox master, with production-prometheus-vm and bm-xserve05 running a slave for each master
  • Stop nightly builds on bm-xserve05 (~cltbld $ buildbot stop macosx-1.8-slave2/) and annotate Mozilla1.8 tree to explain its absence

Start automation run:

buildbot sendchange --username=nthomas --master=localhost:9990 -m"Thunderbird build 1" release


Automated, no problems


Automated, no problems


Automated, no problems. Symbols uploaded to talkback OK.


l10n verification

Automated, no problems found

Generate Updates

Automated, no problems

Publish Updates to Test Channels (betatest & releasetest)

Automated, no problems

Update Verify

Automated, both mac and linux had errors due to AUS not returning updates for the couple of locales. Ran both again after moving /builds/release/logs/updates_verify.log to updates_verify.log.1 (mac aliases mv to cp!), both were green.

Push updates to beta channel

$ sudo su - cltbld
$ cd /opt/aus2/snippets/staging
$ time ~/bin/backupsnip 20081210-Thunderbird-
real    28m9.114s
user    0m26.064s
sys     0m26.851s

Waited for formal "go" to beta.

$ sudo su - cltbld
$ cd /opt/aus2/snippets/staging
$ time ~/bin/pushsnip 20081210-Thunderbird-
real    2m22.590s
user    0m0.130s
sys     0m3.794s

Sign Installers

  • Done manually using these installer-signing-instructions here
  • complete stage-merged:
# on stage
cd /data/cltbld/thunderbird-
rsync -av batch1/mar/ stage-merged/
rsync -av batch1/stage-signed/ stage-merged/
  • Create MD5 and SHA1 checksum files
# on stage
cd /data/cltbld/thunderbird-
~/bin/checksum-files .
  • Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:thunderbird .
chmod 644 *SUMS

Update Bouncer

  • Manually added entries to
  • Note for next release: Do not remove the Check Now bit on the Thunderbird- Products until well after the change to the rsync module (to prevent the likes of bug 464566)

Push to mirrors

  • push the stage-merged directory to the releases area:
# on stage (as cltbld)
rsync -av /data/cltbld/thunderbird- /home/ftp/pub/thunderbird/releases/

Update rsync module

On, add the new release to the smaller, faster, rsync module:

# on stage (as cltbld)
cd /pub/
vi rsyncd-mozilla-current.exclude 

and replace the previous latest release (Tb2.0.0.18) with:

+ thunderbird/releases/
+ thunderbird/releases/**

Final Verification

  • Verify that releasetest points to valid bouncer links:
# this can be run from anywhere
cvs co mozilla/testing/release
cd mozilla/testing/release/updates
cat moz18-thunderbird-*.cfg | grep -v major | sed 's/betatest/releasetest/' | grep -v 2.0a | grep -v 2.0b > update.cfg
./ -t update.cfg 2>&1 | tee quickVerify.log
  • Look for any HTTP error codes besides 200 ("OK") and 302 ("Found"):
grep HTTP quickVerify.log | grep -v 200 | grep -v 302

...found 42 mirrors returned 404. Manual testing confirmed that :

...were now ok, but the following sites failed manual testing and were removed from mirror pool before release.
  • Look for mirrors that do not respond
grep FAIL quickVerify.log FAIL found, but passed when tried manually.

  • Before pushing final updates,verify that "release" and "releasetest" channel match:
# on aus2-staging
cd /opt/aus2/snippets/staging/20081210-Thunderbird-
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20081210-Thunderbird-$a");'

Publish Updates to Release Channel

  • In case you need to cancel/abort updates, the quickest way to do this is here
  • While waiting for QA to finish testing, do a backup:
 # on aus2-staging verify we have correct tools
 $ sudo su - cltbld
 $ cd ~/bin
 $ cvs update -dP
 # backup snippets on release/live channel
 $ time ~/bin/backupsnip 20081210-Thunderbird-
real    32m43.309s
user    0m27.978s
sys     0m35.344s
  • After QA finished testing the releasetest channel and go from release driver, enable release channel:
 # on aus2-staging
 # put snippets on release/live channel
 $ sudo su - cltbld
 $ time ~/bin/pushsnip 20081210-Thunderbird-
real    1m26.141s
user    0m0.072s
sys     0m3.123s

Update symlink

On stage.m.o, change symlink to point to new release:

 $ cd /pub/
 # confirm where latest symlinks point to where before starting
 $ ls -la latest*
lrwxrwxrwx  1 cltbld thunderbird 8 Nov 19 15:21 latest ->
lrwxrwxrwx  1 root   thunderbird 8 Feb 26  2008 latest-1.5 ->
lrwxrwxrwx  1 cltbld thunderbird 8 Nov 19 15:21 latest-2.0 ->
 $ rm latest    # (note no trailing slash)
 $ ln -s latest
 $ rm latest-2.0   # (note no trailing slash)
 $ ln -s latest-2.0
 # confirm latest symlinks point to newest release
 $ ls -la latest*
lrwxrwxrwx   1 cltbld thunderbird    8 Dec 30 11:44 latest ->
lrwxrwxrwx   1 cltbld thunderbird    8 Feb 26  2008 latest-1.5 ->
lrwxrwxrwx   1 cltbld thunderbird    8 Dec 30 11:44 latest-2.0 ->