Thunderbird 2.0.0.12:BuildNotes: Difference between revisions

Final steps
No edit summary
(Final steps)
 
(26 intermediate revisions by 2 users not shown)
Line 50: Line 50:
|-
|-
| [Windows installer]
| [Windows installer]
| RC1:  
| RC1:2008021305
|
|
|
|
| patrocles (cerberus-vm for l10n)
| patrocles (cerberus-vm for l10n)
|-
| [Windows zip]
| RC1:
|
|
| patrocles
|-
|-
| [Mac compressed]
| [Mac compressed]
| RC1:  
| RC1:2008021304
|
|
|
|
Line 68: Line 62:
|-
|-
| [Linux compressed]
| [Linux compressed]
| RC1:  
| RC1:2008021305
|
|
|
|
Line 110: Line 104:
at the top of <tt>Bootstrap/Step/PatcherConfig.pm</tt>. Only need this on prometheus-vm anyway, which has it.
at the top of <tt>Bootstrap/Step/PatcherConfig.pm</tt>. Only need this on prometheus-vm anyway, which has it.


====Tag====
===Tag===
 
On production-1.8-master in <tt>/builds/release</tt>:
./release -o Tag 2>&1 | tee logs/release-Tag-RC1.log


On production-1.8-master in <tt>/builds/release</tt>: <tt>./release -o Tag 2>&1 | tee logs/release-Tag-RC1.log</tt>
Had to come back to fix the 45 files in l10n/uk/editor, which had been tagged with MOZILLA_1_8_BRANCH by a localiser, rather than properly branched. The were all at rev 1.1 and had seen no changes on trunk, so it was straightforward to delete the existing tag, branch to MOZILLA_1_8_BRANCH, update to that, branch to the relbranch, and tag ..._RELEASE and ..._RC1.


===Source===
===Source===


On production-1.8-master in <tt>/builds/release</tt>: <tt>./release -o Source 2>&1 | tee logs/release-Source-RC1.log</tt>
On production-1.8-master in <tt>/builds/release</tt>:
./release -o Source 2>&1 | tee logs/release-Source-RC1.log


===Build===
===Build===
On each tinderbox, cd to <tt>/builds/release</tt> (prefix with <tt>/cygdrive/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
Needed to comment out lines 43-49 of [http://mxr.mozilla.org/seamonkey/source/tools/release/Bootstrap/Step/Build.pm#43 Build.pm] on Windows t'box, since Cygwin complains "Permissied denied" trying to execute those lines. The disks are already mounted in binmode.
===Repack===
On the tinderboxes in the table above,
./release -o Repack -e 2>&1 | tee logs/release-Repack-Execute.log
./release -o Repack -p 2>&1 | tee logs/release-Repack-Push.log
./release -o Repack -a 2>&1 | tee logs/release-Repack-Announce.log
Had to rerun Linux & Mac for the uk tagging issue (see above), but was able to manually checkout the files on the win32 box before it got to that locale.


After win32 l10n, had to set cerberus-vm back to text mode
After win32 l10n, had to set cerberus-vm back to text mode
  mount -t -sc /cygdrive
  mount -t -sc /cygdrive
so that tinderbox would run.
so that tinderbox would run. This box was very slow, taking 7 hours to complete the repack.
rsync -av stage.mozilla.org:/home/ftp/pub/thunderbird/nightly/2.0.0.9-candidates /data/ftp/pub/thunderbird/nightly/
 
===Signing===
 
As per the [https://intranet.mozilla.org/Build:Signing doc].
 
===l10n-Verify===
 
Ran this on bm-xserve05,
./release -o Repack -v 2>&1 | tee logs/release-Repack-Verify.log
 
===Update Generation===
 
Generated on production-prometheus-vm,
 
./release -o PatcherConfig 2>&1 | tee logs/release-PatcherConfig.log
./release -o Updates -e 2>&1 | tee logs/release-Updates-Execute.log
./release -o Updates -p 2>&1 | tee logs/release-Updates-Push.log
 
Push dirs were 20080218-Thunderbird-2.0.0.12 (& -test & -beta)
 
NB: DisableCompleteJump will need to be manually added to the rc block of the patcher config if we do an rc2, then regenerate the snippets.
 
QA found a problem with the details url - {{bug|418450}}. So we fix the config and regenerate the snippets:
 
cd /builds/updates/thunderbird-2.0.0.12/config
cvs up
cd ../patcher/temp/thunderbird/2.0.0.9-2.0.0.12
mkdir wrong-details-url
mv aus2* wrong-details-url/
cd ../../..
./patcher2.pl --create-patchinfo --app=thunderbird \
  --config=../config/moz18-branch-patcher2.cfg 2>&1 | tee thunderbird-create-patchinfo.log
 
Do some quick verification
cd temp/thunderbird/2.0.0.9-2.0.0.12
diff -r aus2.test/ wrong-details-url/aus2.test/ | less
diff -r aus2.beta/ wrong-details-url/aus2.beta/ | less
diff -r aus2/ wrong-details-url/aus2/ | less
Only the detailsURL differs.
 
Push to aus2-staging as 20080219-Thunderbird-2.0.0.12{-test,-beta,}, then manually push 20080219-Thunderbird-2.0.0.12-test live.
 
===Update Verify===
 
Run on the tinderboxes
./release -o Updates -v 2>&1 | tee logs/release-Updates-Verify.log
 
On crazyhorse, verify failed because wget is too old. Removed <tt>--no-check-certificate</tt> argument in updates/verify.sh, common/download_mars.sh, and common/download_builds.sh, then reran.
 
patrocles doesn't have wget, so used production-pacifica-vm instead - needed to modify the win32_logDir from /cygdrive/e/... to /cygdrive/c/... in the bootstrap config.
 
Get expected FAIL's for 2.0b2/gu-IN/all platforms and 2.0b2/he/mac - no longer shipped. Also non-binary warnings for installed-chrome.txt and removed-files, which we no longer ignore.
 
===Updates to Beta Channel===
After QA gives "ok" to push to beta channel, on aus2-staging do:
  # put snippets on beta
  $ screen
  $ sudo su - cltbld
  $ cd /opt/aus2/snippets/staging
  $ ~/bin/pushsnip 20080219-Thunderbird-2.0.0.12-beta
 
===Stage===
 
On production-1.8-master
 
./release -o Stage 2>&1 | tee logs/release-Stage.log
 
Backed up /data/cltbld/bin/verify-locales.pl before running this, and modified the three regex's on the file name (firefox -> thunderbird, Firefox -> Thunderbird). This is {{bug|409232}}.
 
===Sign Installers===
 
* ''NOTE'' - production-1.8-master is not used from here on
* pull stage:/data/cltbld/thunderbird-2.0.0.12/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-2.0.0.12/
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.12/stage-merged/
~/bin/checksum-files .
* Fix permissions & ownership (on the two SUM files, and the detached sigs)
chown -R cltbld:thunderbird .
chmod 644 *SUMS
 
===Release===
* get the last formal "go" from QA/Dev/website/IT/release-drivers
* push the stage-merged directory to the releases area (had to create target dir as root first):
# on stage
rsync -av /data/cltbld/thunderbird-2.0.0.12/stage-merged/ /home/ftp/pub/thunderbird/releases/2.0.0.12/
 
* After pushing live, move forward the "latest" and "latest-2.0" symlinks.
 
  cd /home/ftp/pub/thunderbird/releases/
  rm latest
  ln -s 2.0.0.12 latest
  rm latest-2.0
  ln -s 2.0.0.12 latest-2.0
 
* Update stage:/etc/rsyncd-mozilla-current.exclude - not critical that this happens immediately.
 
===Update Bouncer===
* Add entries to download.mozilla.org
 
===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 | sed 's/betatest/releasetest/' > 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/20080219-Thunderbird-2.0.0.12
find -type d -iregex '.*release.*' | perl -nle '$a = $_; $a =~ s/release/releasetest/; system("diff -r -u $_ ../20080219-Thunderbird-2.0.0.12-test/$a");'
 
===Enable update channel===
* Wait for QA to finish testing update snippets on releasetest channel, then enable update snippets on release channel
 
  # on aus2-staging
  # put snippets on release/live channel
  $ screen
  $ sudo su - cltbld
  $ cd /opt/aus2/snippets/staging
  $ ~/bin/pushsnip 20080219-Thunderbird-2.0.0.12
Confirmed users
4,293

edits