Releases/Thunderbird 2.0.0.24/BuildNotes: Difference between revisions
(Shipped it) |
|||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<b>Sections in <i>italics</i> have not been completed yet.</b> | |||
==Build Engineers== | ==Build Engineers== | ||
Line 95: | Line 97: | ||
====Build/Repack==== | ====Build/Repack==== | ||
Linux: no problems | Linux and Mac: no problems | ||
Win32: build died publishing symbols to symbol server: | '''Win32 failure 1''': build died publishing symbols to symbol server: | ||
log: Running shell command in /builds/symbols/thunderbird-2.0.0.24/build1: | log: Running shell command in /builds/symbols/thunderbird-2.0.0.24/build1: | ||
log: arg0: tools/upload_symbols.sh | log: arg0: tools/upload_symbols.sh | ||
Line 118: | Line 120: | ||
cvs tag -d THUNDERBIRD_2_0_0_24_BUILD1_l10n | cvs tag -d THUNDERBIRD_2_0_0_24_BUILD1_l10n | ||
* retrigger build | * retrigger build | ||
* remove thunderbird/nightly/2010/02/2010-02-28-15-thunderbird2.0.0.24/ | * remove thunderbird/nightly/2010/02/2010-02-28-15-thunderbird2.0.0.24/ and symlink | ||
'''Win32 failure 2''': Failed again when uploading win32_info.txt to ftp - it read the directory for the first build out of the build log because Bootstrap appends by default. Fix | |||
* untag config files as above | |||
* on production-patrocles, delete /builds/release/logs/*24* | |||
* retrigger build | |||
* remove thunderbird/nightly/2010/02/2010-02-28-17-thunderbird2.0.0.24 and symlink | |||
'''Win32 failure 3''': Had not removed a symbol directory and Bootstrap complained. Lets try this one more time, because we're all having fun. | |||
* untag config files as above | |||
* on production-patrocles, delete | |||
** /builds/release/logs/*24* | |||
** /builds/symbols/thunderbird-2.0.0.24 | |||
** /builds/configs/thunderbird-2.0.0.24-builds | |||
* retrigger build | |||
* remove thunderbird/nightly/2010/02/2010-02-28-19-thunderbird2.0.0.24 and symlink | |||
* Finally succeeds, huzzah! | |||
====Sign==== | ====Sign==== | ||
* [https://intranet.mozilla.org/Build:Signing#Win32_EXE.2FDLL_signing Signing doc] | * [https://intranet.mozilla.org/Build:Signing#Win32_EXE.2FDLL_signing Signing doc] | ||
* NB: Doc change - do only the linked section. | * NB: Doc change - do only the linked section. | ||
* No problems | |||
====l10n verification==== | ====l10n verification==== | ||
No problems. | |||
====Generate updates==== | ====Generate updates==== | ||
The patcher config bump set | |||
details http://www.mozillamessaging.com/%locale%/thunderbird/2.0.0.24/releasenotes/ | |||
when we'd previously used mozilla.com. Thinking this was in error I modified the config while patcher was downloading the complete mars. However this is bad form, and it turns out that we redirect 2.0.0.23 from | |||
http://www.mozilla.com/%locale%/thunderbird/2.0.0.23/releasenotes/ | |||
to | |||
http://www.mozillamessaging.com/%locale%/thunderbird/2.0.0.23/releasenotes/ | |||
so the change was fine. | |||
Regenerate the snippets to avoid needing a redirect | |||
# cltbld@production-prometheus-vm | |||
cd /builds/updates/thunderbird-2.0.0.24/config/ | |||
cvs up -C moz18-branch-patcher2.cfg | |||
# cvs stat gives rev 1.30 unmodified | |||
cd ../patcher/temp/thunderbird/2.0.0.23-2.0.0.24/ | |||
mkdir v1-snippets | |||
mv aus2* v1-snippets | |||
cd /builds/updates/thunderbird-2.0.0.24/patcher | |||
./patcher2.pl --create-patchinfo --app=thunderbird --config=../config/moz18-branch-patcher2.cfg | |||
cd /builds/updates/thunderbird-2.0.0.24/patcher/temp/thunderbird/2.0.0.23-2.0.0.24 | |||
diff -r -I '^detailsUrl' v1-snippets/aus2 aus2 | |||
diff -r -I '^detailsUrl' v1-snippets/aus2.beta aus2.beta | |||
diff -r -I '^detailsUrl' v1-snippets/aus2.test aus2.test | |||
# no output for all three diffs, spot check comfirms expected change in detailsUrl | |||
rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100302-Thunderbird-2.0.0.24/ | |||
rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100302-Thunderbird-2.0.0.24-beta/ | |||
rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100302-Thunderbird-2.0.0.24-test/ | |||
# cltbld@aus-staging | |||
~/bin/backupsnip 20100302-Thunderbird-2.0.0.24-test | |||
~/bin/pushsnip 20100302-Thunderbird-2.0.0.24-test | |||
====Publish updates to test channels (betatest & releasetest)==== | ====Publish updates to test channels (betatest & releasetest)==== | ||
No problems. | |||
====Update verify==== | ====Update verify==== | ||
No problems. | |||
==== Stage ==== | ==== Stage ==== | ||
No problems. | |||
====Push updates to beta channel==== | ====Push updates to beta channel==== | ||
Turns out we should be using the snippets that point to mozilla.com. Before go | |||
# cltbld@aus2-staging | |||
~/bin/backupsnip 20100301-Thunderbird-2.0.0.24-beta | |||
After go | |||
~/bin/pushsnip 20100301-Thunderbird-2.0.0.24-beta | |||
Landed the modification to moz18-branch-patcher2.cfg. | |||
====Sign installers==== | ====Sign installers==== | ||
Done manually using these installer-signing-instructions [https://intranet.mozilla.org/Build:Signing#Installer.2Farchive_signing_before_release here]. NB: Doc location change, content unmodified. | Done manually using these installer-signing-instructions [https://intranet.mozilla.org/Build:Signing#Installer.2Farchive_signing_before_release here]. NB: Doc location change, content unmodified. | ||
* complete stage-merged: | |||
# cltbld@stage | |||
cd /data/cltbld/thunderbird-2.0.0.24/ | |||
rsync -av batch1/mar/ stage-merged/ | |||
rsync -av batch1/stage-signed/ stage-merged/ | |||
* Create MD5 and SHA1 checksum files | |||
cd /data/cltbld/thunderbird-2.0.0.24/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 | ====Update Bouncer==== | ||
Done. Left out Solaris because they have something unusual for 2.0.0.23 and I want to hear directly what should be configured. | |||
==== Push to mirrors ==== | ==== Push to mirrors ==== | ||
# on stage (as cltbld) | |||
rsync -av /data/cltbld/thunderbird-2.0.0.24/stage-merged/ /home/ftp/pub/thunderbird/releases/2.0.0.24/ | |||
====Update rsync module==== | ====Update rsync module==== | ||
Thunderbird 2.0.0.x is no longer in the mozilla-current rsync module. Nothing to do here. | |||
====Final verification==== | ====Final verification==== | ||
* Verify that releasetest points to valid bouncer links: | |||
hg clone http://hg.mozilla.org/build/tools | |||
cd tools/release/updates | |||
cat moz18-thunderbird-{win32,mac,linux}.cfg | 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 | |||
* Before pushing final updates,verify that "release" and "releasetest" channel match: | |||
# on aus2-staging | |||
cd /opt/aus2/snippets/staging/20100301-Thunderbird-2.0.0.24 | |||
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20100301-Thunderbird-2.0.0.24-test/$a");' | |||
====Publish updates to release channel==== | ====Publish updates to release channel==== | ||
* '''In case you need to cancel/abort updates, the quickest way to do this is [https://intranet.mozilla.org/Build:Updates here]''' | |||
* While waiting for QA to finish testing, did a backup: | |||
# on aus2-staging verify we have correct tools | |||
sudo su - cltbld | |||
cd ~/bin | |||
cvs update -dP | |||
~/bin/backupsnip 20100301-Thunderbird-2.0.0.24 | |||
* Discovered that 20100301-Thunderbird-2.0.0.24-test hadn't been pushed to fix the detailsURL for betatest and releasetest, which QA then caught when the MoMo url was a 404 | |||
~/bin/backupsnip 20100301-Thunderbird-2.0.0.24-test | |||
~/bin/pushsnip 20100301-Thunderbird-2.0.0.24-test | |||
~/bin/backupsnip 20100301-Thunderbird-2.0.0.24 | |||
* After QA finished testing the releasetest channel and go from release driver, enable release channel: | |||
# on aus2-staging | |||
sudo su - cltbld | |||
~/bin/pushsnip 20100301-Thunderbird-2.0.0.24 | |||
====Update symlink==== | ====Update symlink==== | ||
# cltbld@stage | |||
cd /pub/mozilla.org/thunderbird/releases | |||
rm latest-2.0 | |||
ln -s 2.0.0.24 latest-2.0 |
Latest revision as of 22:17, 16 March 2010
Sections in italics have not been completed yet.
Build Engineers
nthomas
Version/config bump/tracking in bug 547309
Bonsai queries
Build 1: cvsroot
Tags
Build 1:
Module | Parent Branch | Created Tag/Branch | Pull date |
cvsroot/mozilla | MOZILLA_1_8_BRANCH | GECKO181_20100228_RELBRANCH | 2010-02-26 08:40 PST |
GECKO181_20100228_RELBRANCH | THUNDERBIRD_2_0_0_24_RELEASE THUNDERBIRD_2_0_0_24_BUILD1 | 2010-02-28 14:22 PST | |
l10n/l10n | MOZILLA_1_8_BRANCH | GECKO181_20100228_RELBRANCH | 2009-08-12 08:29 PDT |
GECKO181_20100228_RELBRANCH | THUNDERBIRD_2_0_0_24_RELEASE THUNDERBIRD_2_0_0_24_BUILD1 | 2010-02-28 14:48 PST |
Build data
Type | Build machine |
[Windows installer/zip] | production-patrocles |
[Mac compressed] | bm-xserve05 |
[Linux compressed] | production-crazyhorse |
Notes
Build 1
Using RELEASE_AUTOMATION_M15_1.
Slave cleanup
- production-prometheus-vm
- need ~10GB for tag, source, update generation and linux verify, stage;
- removed /builds/tags/THUNDERBIRD_2_0_0_2{1,2}_BUILD1, source/thunderbird-2.0.0.2{1,2}, updates/thunderbird-2.0.0.22, verify/thunderbird-2.0.0.2{1,2}
- 16G free
- production-crazyhorse
- 14GB free on /builds - t'box will remove existing linux build so that's fine
- bm-xserve05
- need ~20GB for mac builds, l10n_verify, mac update verify
- removed /builds/verify/*, /builds/tinderbox/Fx-Mozilla1.8-Nightly/Darwin_8.7.0_Depend, /builds/tinderbox/Fx-Mozilla1.8-l10n-release/Darwin_8.7.0_Depend, /builds/tinderbox/Fx-Mozilla1.8-release/Darwin_8.7.0_Depend
- 27G free at start
- production-patrocles
- 41G free on e:, t'box remove existing win32 build so that's fine
- production-pacifica-vm
- 29G free on c:, plenty for just doing update verify
NB: Dep. builds fire every 2 hours and will compete for release jobs. Might be worth disabling them. Timing was OK so didn't bother.
Setup master before starting:
- update mozilla/tools/buildbot-configs/automation/production/tb-master.cfg for most recent milestone of bootstrap (RELEASE_AUTOMATION_M15_1)
- 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
- master.cfg and tb-master.cfg are "Locally Modified" to contain passwords; identical to repository version otherwise.
- Ran 'buildbot reconfig /builds/buildbot/Thunderbird-Automation'
- Buildbot waterfall is here (MPT-VPN); this is a separate instance from the (now defunct) Firefox 2.0.0.x master, with production-prometheus-vm and bm-xserve05 running a slave for each master
Login to production-1.8-master as cltbld and start automation run:
buildbot sendchange --username=nthomas --master=localhost:9990 -m"Thunderbird 2.0.0.24 build 1" release
Tag
No problems
Source
No problems
Build/Repack
Linux and Mac: no problems
Win32 failure 1: build died publishing symbols to symbol server:
log: Running shell command in /builds/symbols/thunderbird-2.0.0.24/build1: log: arg0: tools/upload_symbols.sh log: arg1: symbols.zip log: Starting time is 16:03:09 02/28/10 log: Logging output to /builds/release/logs/build_THUNDERBIRD_2_0_0_24_BUILD1-symbols.log log: Timeout: 600 log: output: Transferring symbols... symbols.zip scp: /mnt/netapp/breakpad/symbols_tbrd/: Permission denied Step Build died: shell call returned bad exit code: 1 at Bootstrap/Step.pm line 110.
Fix:
- update tb-moz18-bootstrap
- untag config files
mkdir fix-tags; cd $_; cvs co -r MOZILLA_1_8_BRANCH_release -d MOZILLA_1_8_BRANCH_release mozilla/tools/tinderbox-configs/thunderbird/win32 cvs tag -d THUNDERBIRD_2_0_0_24_RELEASE cvs tag -d THUNDERBIRD_2_0_0_24_RELEASE_l10n cvs tag -d THUNDERBIRD_2_0_0_24_BUILD1 cvs tag -d THUNDERBIRD_2_0_0_24_BUILD1_l10n
- retrigger build
- remove thunderbird/nightly/2010/02/2010-02-28-15-thunderbird2.0.0.24/ and symlink
Win32 failure 2: Failed again when uploading win32_info.txt to ftp - it read the directory for the first build out of the build log because Bootstrap appends by default. Fix
- untag config files as above
- on production-patrocles, delete /builds/release/logs/*24*
- retrigger build
- remove thunderbird/nightly/2010/02/2010-02-28-17-thunderbird2.0.0.24 and symlink
Win32 failure 3: Had not removed a symbol directory and Bootstrap complained. Lets try this one more time, because we're all having fun.
- untag config files as above
- on production-patrocles, delete
- /builds/release/logs/*24*
- /builds/symbols/thunderbird-2.0.0.24
- /builds/configs/thunderbird-2.0.0.24-builds
- retrigger build
- remove thunderbird/nightly/2010/02/2010-02-28-19-thunderbird2.0.0.24 and symlink
- Finally succeeds, huzzah!
Sign
- Signing doc
- NB: Doc change - do only the linked section.
- No problems
l10n verification
No problems.
Generate updates
The patcher config bump set
details http://www.mozillamessaging.com/%locale%/thunderbird/2.0.0.24/releasenotes/
when we'd previously used mozilla.com. Thinking this was in error I modified the config while patcher was downloading the complete mars. However this is bad form, and it turns out that we redirect 2.0.0.23 from
http://www.mozilla.com/%locale%/thunderbird/2.0.0.23/releasenotes/
to
http://www.mozillamessaging.com/%locale%/thunderbird/2.0.0.23/releasenotes/
so the change was fine.
Regenerate the snippets to avoid needing a redirect
# cltbld@production-prometheus-vm cd /builds/updates/thunderbird-2.0.0.24/config/ cvs up -C moz18-branch-patcher2.cfg # cvs stat gives rev 1.30 unmodified cd ../patcher/temp/thunderbird/2.0.0.23-2.0.0.24/ mkdir v1-snippets mv aus2* v1-snippets cd /builds/updates/thunderbird-2.0.0.24/patcher ./patcher2.pl --create-patchinfo --app=thunderbird --config=../config/moz18-branch-patcher2.cfg cd /builds/updates/thunderbird-2.0.0.24/patcher/temp/thunderbird/2.0.0.23-2.0.0.24 diff -r -I '^detailsUrl' v1-snippets/aus2 aus2 diff -r -I '^detailsUrl' v1-snippets/aus2.beta aus2.beta diff -r -I '^detailsUrl' v1-snippets/aus2.test aus2.test # no output for all three diffs, spot check comfirms expected change in detailsUrl rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100302-Thunderbird-2.0.0.24/ rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2.beta/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100302-Thunderbird-2.0.0.24-beta/ rsync -av -e 'ssh -i /home/cltbld/.ssh/aus' aus2.test/ cltbld@aus2-staging.mozilla.org:/opt/aus2/snippets/staging/20100302-Thunderbird-2.0.0.24-test/ # cltbld@aus-staging ~/bin/backupsnip 20100302-Thunderbird-2.0.0.24-test ~/bin/pushsnip 20100302-Thunderbird-2.0.0.24-test
Publish updates to test channels (betatest & releasetest)
No problems.
Update verify
No problems.
Stage
No problems.
Push updates to beta channel
Turns out we should be using the snippets that point to mozilla.com. Before go
# cltbld@aus2-staging ~/bin/backupsnip 20100301-Thunderbird-2.0.0.24-beta
After go
~/bin/pushsnip 20100301-Thunderbird-2.0.0.24-beta
Landed the modification to moz18-branch-patcher2.cfg.
Sign installers
Done manually using these installer-signing-instructions here. NB: Doc location change, content unmodified.
- complete stage-merged:
# cltbld@stage cd /data/cltbld/thunderbird-2.0.0.24/ rsync -av batch1/mar/ stage-merged/ rsync -av batch1/stage-signed/ stage-merged/
- Create MD5 and SHA1 checksum files
cd /data/cltbld/thunderbird-2.0.0.24/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
Done. Left out Solaris because they have something unusual for 2.0.0.23 and I want to hear directly what should be configured.
Push to mirrors
# on stage (as cltbld) rsync -av /data/cltbld/thunderbird-2.0.0.24/stage-merged/ /home/ftp/pub/thunderbird/releases/2.0.0.24/
Update rsync module
Thunderbird 2.0.0.x is no longer in the mozilla-current rsync module. Nothing to do here.
Final verification
- Verify that releasetest points to valid bouncer links:
hg clone http://hg.mozilla.org/build/tools cd tools/release/updates cat moz18-thunderbird-{win32,mac,linux}.cfg | 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
- Before pushing final updates,verify that "release" and "releasetest" channel match:
# on aus2-staging cd /opt/aus2/snippets/staging/20100301-Thunderbird-2.0.0.24 find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20100301-Thunderbird-2.0.0.24-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, did a backup:
# on aus2-staging verify we have correct tools sudo su - cltbld cd ~/bin cvs update -dP ~/bin/backupsnip 20100301-Thunderbird-2.0.0.24
- Discovered that 20100301-Thunderbird-2.0.0.24-test hadn't been pushed to fix the detailsURL for betatest and releasetest, which QA then caught when the MoMo url was a 404
~/bin/backupsnip 20100301-Thunderbird-2.0.0.24-test ~/bin/pushsnip 20100301-Thunderbird-2.0.0.24-test ~/bin/backupsnip 20100301-Thunderbird-2.0.0.24
- After QA finished testing the releasetest channel and go from release driver, enable release channel:
# on aus2-staging sudo su - cltbld ~/bin/pushsnip 20100301-Thunderbird-2.0.0.24
Update symlink
# cltbld@stage cd /pub/mozilla.org/thunderbird/releases rm latest-2.0 ln -s 2.0.0.24 latest-2.0