Releases/Thunderbird 16.0.1/BuildNotes

From MozillaWiki
Jump to navigation Jump to search

Checklist

Bugs hit

  • bug 799806
    • need extra mozconfig line --enable-stdcxx-compat to build libmar. bhearsum fixed
    • only fixed Firefox the first time round, was a new kind of broken on Thunderbird. nthomas fixed
  • bug 800277 - Update generation has problems when latest-1 --> latest partial isn't generated

Notes

  • Tracking bug bug 800023
  • Release engineer kmoir, nthomas
  • Buildbot master: bm34

Build 1

  • Updated de revision to that used for 16.0 respin
  • Set reserved slaves to 2
  • Moved 2 64-bit linux ix slaves, 1 64-bit windows slave, and 2 32-bit windows slaves to bm34 to make sure we have enough of the right slaves to do the release.
  • Tagged buildbot-configs, buildbotcustom, and tools with THUNDERBIRD_16_0_1_{RELEASE,BUILD1}
  • Updated and reconfiged bm34
  • Ran release sanity in dry run mode:
cd /builds/buildbot/build1/master
source ../bin/activate
PYTHONPATH=. python ../tools/buildbot-helpers/release_sanity.py -u nthomas \
 -V 16.0.1 --build-number 1 --branch comm-release \
 --release-config release-thunderbird-comm-release.py --product thunderbird \
 --l10n-dashboard-version=16 --dryrun localhost:9001

2012-10-10 14:51:21,104 : INFO : Comparing l10n changesets on dashboard https://l10n.mozilla.org/shipping/l10n-changesets?ms=tb16 to on-disk l10n-changesets_thunderbird-release ...
2012-10-10 14:51:21,151 : ERROR : 	locale de revisions not matching: 435ffc2817d3 (config) vs. 5eb2fb1a7155 (dashboard)
2012-10-10 14:51:21,151 : ERROR : Error verifying l10n dashboard changesets

so the dashboard hasn't got the de fix.

  • Ran without --dryrun, and with -l to skip l10n check, to start the release

Fix repacks

Due to bug 799806, we need to add --enable-stdcxx-compat to our Linux l10n mozconfigs. This was done in https://hg.mozilla.org/build/buildbot-configs/rev/0029772efc8d. That revision was retagged, and 'rebuild' was used on all of the failed repacks (linux + linux64) to get them going again.

Also needed to handle tier_base and tier_nspr properly for thunberbird, bug 799806 again.

Repacks failed due to network issues in bug 799347 (scl3 core router problem). After enough retries and IT work around they succeeded.

Updates

Update generation builder went red because we don't really support not generating a partial from the previous release, bug 800277.

Generate 16.0 -> 16.0.1 complete update

The locales list didn't change between 15.0.1 and 16.0 so we can just grab the 15.0.1 snippets, munge the buildID and zap the partial.txt files.

 # tbirdbld@aus3-staging
 cd /opt/aus2/snippets/staging/
 mkdir -p Thunderbird-16.0.1-build1-16.0-test/Thunderbird
 rsync -av ../pushed/Thunderbird-16.0.1-build1-test/Thunderbird/15.0.1/ \
          Thunderbird-16.0.1-build1-16.0-test/Thunderbird/16.0/
 for d in Thunderbird-16.0.1-build1-16.0-test/Thunderbird/16.0/*; do 
   mv -v $d/20120907140327 $d/20121005141928
 done
 find Thunderbird-16.0.1-build1-16.0-test/Thunderbird/16.0/ -type f -name partial.txt -exec rm {} \;
 pushsnip Thunderbird-16.0.1-build1-16.0-test

TODO release snippets

Generate update verify configs and trigger

On my own machines

mkdir tmp; cd tmp
hg clone http://hg.mozilla.org/build/tools
wget -O shipped-locales http://hg.mozilla.org/releases/comm-release/raw-file/THUNDERBIRD_16_0_1_RELEASE/mail/locales/shipped-locales

Apply this patch

diff --git a/lib/python/release/updates/patcher.py b/lib/python/release/updates/patcher.py
--- a/lib/python/release/updates/patcher.py
+++ b/lib/python/release/updates/patcher.py
@@ -47,5 +47,5 @@ class PatcherConfig(dict):
         # assume that all of the fromVersions in the past-update lines are
         # versions that should have update paths to the latest on all channels.
-        return tuple([self['current-update']['from']] + [v[0] for v in self['past-update']])
+        return tuple(set([self['current-update']['from']] + [v[0] for v in self['past-update']]))
 
     def getOptionalAttrs(self, version):

to resolve the locale error. Then generate the configs with

python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozRelease-thunderbird-branch-patcher2.cfg --platform macosx64 --output tools/release/updates/mozRelease-thunderbird-mac64.cfg --release-config-file mozilla/release-thunderbird-comm-release.py -b http://hg.mozilla.org/build/buildbot-configs --channel betatest -t THUNDERBIRD_16_0_1_RELEASE
python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozRelease-thunderbird-branch-patcher2.cfg --platform win32 --output tools/release/updates/mozRelease-thunderbird-win32.cfg --release-config-file mozilla/release-thunderbird-comm-release.py -b http://hg.mozilla.org/build/buildbot-configs --channel betatest -t THUNDERBIRD_16_0_1_RELEASE
python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozRelease-thunderbird-branch-patcher2.cfg --platform linux64 --output tools/release/updates/mozRelease-thunderbird-linux64.cfg --release-config-file mozilla/release-thunderbird-comm-release.py -b http://hg.mozilla.org/build/buildbot-configs --channel betatest -t THUNDERBIRD_16_0_1_RELEASE
python tools/scripts/updates/create-update-verify-configs.py -c tools/release/patcher-configs/mozRelease-thunderbird-branch-patcher2.cfg --platform linux --output tools/release/updates/mozRelease-thunderbird-linux.cfg --release-config-file mozilla/release-thunderbird-comm-release.py -b http://hg.mozilla.org/build/buildbot-configs --channel betatest -t THUNDERBIRD_16_0_1_RELEASE

Then add the 16.0 lines we want by doing this in each config file

  • copy the two 15.0 lines up to the top of the file, and make some modifications ...
  • change to release="16.0"
  • change the build_id to 20121005141928
  • change the 15.0's to 16.0's in the from="/thunderbird..." vars
  • move aus_server and to definitions to the first line

Commit and move THUNDERBIRD_16_0_1_{RELEASE,BUILD1}_RUNTIME tags.

Then forced update verify builders (from local machine)

for p in linux linux64 macosx64 win32; do
  for i in 1 2 3 4; do
    curl "http://buildbot-master34.build.mozilla.org:8001/builders/release-comm-release-${p}_update_verify_${i}%2F4/force" > /dev/null
    sleep 5
  done
done