Releases/Thunderbird 2.0.0.17:BuildNotes

From MozillaWiki
Jump to: navigation, search

Build Engineers

nthomas (for starters)
Version/config bump bug

Bonsai queries

Build 1: cvsroot

Tags

Updated CVS Tags devmo page.

Build 1:

Module Branch Tag Pull date
cvsroot/mozilla GECKO181_20080827_RELBRANCH_REAL THUNDERBIRD_2_0_0_17_BUILD1 2008-09-14 20:45 PDT
l10n/l10n GECKO181_20080827_RELBRANCH_REAL THUNDERBIRD_2_0_0_17_BUILD1 2008-09-14 20:45 PDT

Build data

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

Notes

Build 1

Using RELEASE_AUTOMATION_M11, same as for Fx2.0.0.17.

Slave cleanup

  • production-prometheus-vm
    • need ~10GB for tag, source, update generation and linux verify, stage; already had 20GB free
  • production-crazyhorse
    • rm -rv /builds/{config,symbols}/thunderbird-2.0.0.1{3,6}-*
    • update to automation tag
      • fix CVS/Root to use cltbld in /builds/tinderbox/mozilla/tools/tinderbox (once off)
      • /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); 17G free already
    • verify tinderbox already updated to automation tag for Fx2.0.0.17
  • production-patrocles
    • rm -rv /builds/config/thunderbird-2.0.0.1{3,6}-*
    • update to automation tag
      • fix CVS/Root to use cltbld in /builds/tinderbox/mozilla/tools/tinderbox (once off)
      • /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
  • as buildmaster@production-1.8-master, cd /builds/buildbot/Thunderbird-Automation/buildbot-configs. Check for local diff, dry run a cvs up, then cvs up
  • master.cfg is "Locally Modified" to contain passwords; identical to repository version otherwise.
  • Ran 'buildbot reconfig'
  • 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

Tag

Automated, no problems

Source

Automated, no problems

Build

Automated, no problems

Repack

Automated, no problems

Sign

  • Signing doc
  • 1 timeout contacting Verisign, restarted run

l10n verification

Automated, no problems found

Generate Updates

Automated, no problems

Publish Updates to Test Channels (betatest & releasetest)

Automated, no problems

Update Verify

Automated, initally some problems with Linux due to the first six locales getting empty update.xml from AUS (still catching up to the new snippets I guess). Reran, then reran after removing first run logs, and went green.

Push updates to beta channel

-bash-3.2$ time ~/bin/backupsnip 20080915-Thunderbird-2.0.0.17-beta
Running /bin/tar cfvj /opt/aus2/snippets/backup/20080918-1-pre-20080915-Thunderbird-2.0.0.17-beta.tar.bz2 .

real    37m34.670s
user    0m36.602s
sys     0m52.654s

~/bin/pushsnip 20080915-Thunderbird-2.0.0.17-beta

Sign Installers

  • Done manually using these installer-signing-instructions here
  • complete stage-merged:
# on stage
cd /data/cltbld/thunderbird-2.0.0.17/
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-2.0.0.17/stage-merged/
~/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 download.mozilla.org

Push to mirrors

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


Update rsync module

On stage.mozilla.org, add the new release to the smaller, faster, rsync module:

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

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

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

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
./verify.sh -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
  • Look for mirrors that do not respond
grep FAIL quickVerify.log

Had some of these and adjusted weights in bouncer with IT, fallout from the Fx releases on Tuesday.

  • Before pushing final updates,verify that "release" and "releasetest" channel match:
# on aus2-staging
cd /opt/aus2/snippets/staging/20080915-Thunderbird-2.0.0.17
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20080915-Thunderbird-2.0.0.17-test/$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
 $ sudo su - cltbld
 $ cd /opt/aus2/snippets/staging
 $ time ~/bin/backupsnip 20080915-Thunderbird-2.0.0.17
 real    38m44.309s
 user    0m46.856s
 sys     1m48.279s
  • After QA finished testing the releasetest channel, enabled release channel:
 # on aus2-staging
 # put snippets on release/live channel
 $ sudo su - cltbld
 $ cd /opt/aus2/snippets/staging
 $ time ~/bin/pushsnip 20080915-Thunderbird-2.0.0.17
 real    0m42.241s
 user    0m0.105s
 sys     0m8.097s

Update symlink

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

 $ cd /pub/mozilla.org/thunderbird/releases
 # confirm where latest symlinks point to where before starting
 $ ls -la latest*
 lrwxrwxrwx  1 cltbld thunderbird 8 Jul 23 19:09 latest -> 2.0.0.16
 lrwxrwxrwx  1 root   thunderbird 8 Feb 26  2008 latest-1.5 -> 1.5.0.14
 lrwxrwxrwx  1 cltbld thunderbird 8 Jul 23 19:10 latest-2.0 -> 2.0.0.16
 $ rm latest    # (note no trailing slash)
 $ ln -s 2.0.0.17 latest
 $ rm latest-2.0   # (note no trailing slash)
 $ ln -s 2.0.0.17 latest-2.0
 # confirm latest symlinks point to newest release
 $ ls -la latest*
 lrwxrwxrwx  1 cltbld thunderbird 8 Sep 25 15:17 latest -> 2.0.0.17
 lrwxrwxrwx  1 root   thunderbird 8 Feb 26  2008 latest-1.5 -> 1.5.0.14
 lrwxrwxrwx  1 cltbld thunderbird 8 Sep 25 15:17 latest-2.0 -> 2.0.0.17