canmove, Confirmed users
1,008
edits
m (→Build 1) |
No edit summary |
||
| (31 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<small>[[Releases/Thunderbird_3.0a1|« Back to Thunderbird 3 Alpha 1 Release Page]]</small> | |||
=Build Engineers= | =Build Engineers= | ||
| Line 24: | Line 26: | ||
|- | |- | ||
| rowspan="3" | cvsroot/mozilla | | rowspan="3" | cvsroot/mozilla | ||
| | | GECKO19_20080506_RELBRANCH | ||
| HEAD @ | | HEAD @ 2008-05-01 03:00 PDT | ||
|- | |- | ||
| THUNDERBIRD_3_0a1_BUILD1 | | THUNDERBIRD_3_0a1_BUILD1 | ||
| | | GECKO19_20080506_RELBRANCH @ 2008-05-06 15:25 PDT | ||
|- | |- | ||
| THUNDERBIRD_3_0a1_RELEASE | | THUNDERBIRD_3_0a1_RELEASE | ||
| | | GECKO19_20080506_RELBRANCH @ 2008-05-06 15:25 PDT | ||
|- | |- | ||
| l10n/l10n | |||
| not tagged, no locales for this release | |||
| | |||
|} | |} | ||
| Line 121: | Line 116: | ||
==Tag== | ==Tag== | ||
On tb-linux-tbox in <tt>/builds/release</tt>: | |||
./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== | ==Source== | ||
On tb-linux-tbox in <tt>/builds/release</tt>: | |||
./release -o Source 2>&1 | tee logs/release-Source-RC1.log | |||
==Build== | ==Build== | ||
After the build is complete, | 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 <tt>/builds/release</tt> (prefix with <tt>/e/</tt> 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, <tt>cvs up -A</tt> in <tt>/builds/tinderbox/mozilla/tools/tinderbox</tt> 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. [http://tinderbox.mozilla.org/showbuilds.cgi?tree=MozillaRelease MozillaRelease] | |||
MacOSX: 2008-05-07 14:45 PDT | |||
Linux: 2008-05-07 15:00 PDT | |||
Windows: 2008-05-07 15:25 PDT | |||
The builds succeeded on all platforms. However, since the Source step had been run with the tbirdbld sshUser, the directories on stage-old.m.o were created with the wrong permissions. This Build step ran with the cltbld sshUser and thus didn't have access to the folders on stage-old.m.o. | |||
The ownership was fixed on stage-old.m.o and the Build push step was re-run on the linux and mac boxes. The windows box had no problem as the ownership issues were fixed before the windows build had gotten to the point of pushing the build out to stage-old.m.o. | |||
This was done by running | |||
./release -o Build -p 2>&1 | tee logs/release-Build-push.log | |||
===buildsymbols failure on mac and how to do them manually=== | |||
The buildsymbols problem, {{bug|411171}} did occur during the build. After the Build push above was done, vnc'd into the mac and ran: | |||
make -C /builds/tinderbox/Tb-Mozilla1.9-Release/Darwin_8.8.4_Depend/mozilla/../build/universal/ppc buildsymbols | |||
and that ran fine. Then ran, | |||
make -C /builds/tinderbox/Tb-Mozilla1.9-Release/Darwin_8.8.4_Depend/mozilla/../build/universal/ppc uploadsymbols | |||
and that failed since a number of environment variables were not defined. (They are defined in the tinder-config.pl which is used by the post-mozilla-rel.pl script to run these two make commands). After poking about a bit, it looks like all that should need to be done to upload the symbols is: | |||
SYMBOL_SERVER_HOST='stage-old.mozilla.org' \ | |||
SYMBOL_SERVER_USER='tbirdbld' \ | |||
SYMBOL_SERVER_PATH='/mnt/netapp/breakpad/symbols_tbrd' \ | |||
SYMBOL_SERVER_SSH_KEY='/Users/cltbld/.ssh/tbirdbld_dsa' \ | |||
make -C /builds/tinderbox/Tb-Mozilla1.9-Release/Darwin_8.8.4_Depend/build/universal/ppc uploadsymbols | |||
I will verify this with nthomas before running it. My biggest concern at this point is that the uploadsymbols did run previously and I'm not sure whether something needs to be cleaned up on stage-old.m.o first before running this again. | |||
Symbols have been uploaded. 2008-05-08 8:25 AM PDT | |||
==Bump version numbers== | |||
Bump the version number to 3.0a2pre in | |||
mozilla/mail/app/module.ver | |||
mozilla/mail/config/version.txt | |||
mozilla/tools/tinder-configs/monitoring/Thunderbird_trunk.txt | |||
==Stage== | |||
Did this manually as we don't have a shipped-locales file for Thunderbird yet. | |||
# on stage as cltbld | |||
mkdir /data/cltbld/thunderbird-3.0a1 | |||
cd /data/cltbld/thunderbird-3.0a1 | |||
# borrow from a previous release | |||
rsync -av /data/cltbld/thunderbird-2.0.0.14/batch-skel/stage/ stage-merged/ | |||
# get all the files and remove strays | |||
mkdir -p batch1/stage-unsigned | |||
cd batch1/stage-unsigned | |||
rsync -av /pub/mozilla.org/thunderbird/nightly/3.0a1-candidates/build1/ . | |||
rm -rf unsigned/ *.log *.txt | |||
# Rename the installers/archives | |||
mkdir -p source {mac,linux-i686,win32}/en-US | |||
mv thunderbird-3.0a1-source.tar.bz2 source/ | |||
mv thunderbird-3.0a1.en-US.linux-i686.tar.bz2 linux-i686/en-US/thunderbird-3.0a1.tar.bz2 | |||
mv thunderbird-3.0a1.en-US.mac.dmg mac/en-US/Thunderbird\ 3.0\ Alpha\ 1.dmg | |||
mv thunderbird-3.0a1.en-US.win32.installer.exe win32/en-US/Thunderbird\ Setup\ 3.0\ Alpha\ 1.exe | |||
# rename the update files (not actually used) | |||
cd .. | |||
mkdir -p mar/update/{linux-i686,mac,win32}/en-US | |||
mv stage-unsigned/*.mar mar/ | |||
mv mar/thunderbird-3.0a1.en-US.linux-i686.complete.mar mar/update/linux-i686/en-US/thunderbird-3.0a1.complete.mar | |||
mv mar/thunderbird-3.0a1.en-US.mac.complete.mar mar/update/mac/en-US/thunderbird-3.0a1.complete.mar | |||
mv mar/thunderbird-3.0a1.en-US.win32.complete.mar mar/update/win32/en-US/thunderbird-3.0a1.complete.mar | |||
# fix up permissions | |||
find . -type f -exec chmod -v 644 {} \; | |||
find . -type d -exec chmod -v 755 {} \; | |||
chown -R cltbld:thunderbird * | |||
rsync -av stage-unsigned/ stage-signed/ | |||
==Sign Installers== | |||
* pull stage:/data/cltbld/thunderbird-3.0a1/batch1/stage-signed/ to signing machine | |||
* follow installer-signing-instructions [https://intranet.mozilla.org/Build:Unified_Release_Process#Sign_builds here] | |||
* push signed bits back to same location on stage | |||
* complete stage-merged: | |||
# on stage | |||
cd /data/cltbld/thunderbird-3.0a1/ | |||
rsync -av batch1/mar/ stage-merged/ | |||
rsync -av batch1/stage-signed/ stage-merged/ | |||
* Create MD5 and SHA1 checksum files | |||
# on stage as cltbld | |||
cd /data/cltbld/thunderbird-3.0a1/stage-merged/ | |||
~/bin/checksum-files . | |||
* Fix permissions & ownership (on the detached sigs and the two SUM files respectively) | |||
chown -R cltbld:thunderbird . | |||
chmod 644 *SUMS | |||
==Release== | |||
* get the last formal "go" from Thunderbird QA & release-drivers | |||
* push the stage-merged directory to the releases area : | |||
# on stage | |||
rsync -av /data/cltbld/thunderbird-3.0a1/stage-merged/ /home/ftp/pub/thunderbird/releases/3.0a1/ | |||
* Update /etc/rsyncd-mozilla-current.exclude on surf and dm-stage02 - not critical that this happens immediately. ''Skipped for alpha release, we don't need the extra mirror coverage'' | |||
==Update Bouncer== | |||
* Add entries to download.mozilla.org | |||