11
edits
No edit summary |
|||
| Line 1: | Line 1: | ||
= Release Process = | = '''Release Process''' = | ||
== Overview == | |||
This is a short summery of steps required to do a release of Sunbird/Lightning. For simplicity, these steps are expected to be executed in the order mentioned here. Each step will have a more detaild section below. | |||
NOTES: | To prepare for a release: | ||
* ${PRODUCT_TAG} is the header for the BRANCH - for sunbird 0. | * Create a branch in mozilla repository | ||
* ${BRANCH_TAG} is made by appending _BRANCH to the ${PRODUCT_TAG} for example, | * Create a branch in l10n repository | ||
* Change Tinderboxes to build form that branch | |||
* Change the Version Number | |||
* Create localized version of Lightning (to be done in the build - see Bug 352546) | |||
* Tag files on the branch to makr a RC if required | |||
When the final RC gets approved: | |||
* Tag files on the branch with a release tag | |||
* Create Mac universal binaries (to be done in the build too?) | |||
* Move stuff around on stage server | |||
== Create a branch == | |||
NOTES: | |||
* If you intend to see these changes, esp. the fixes, in any later release, keep in mind to also commit them to the regular development branch. | |||
* ${PRODUCT_TAG} is the header for the BRANCH - for sunbird 0.7 this will de SUNBIRD_0_7, other releases should follow the same convention | |||
* ${BRANCH_TAG} is made by appending _BRANCH to the ${PRODUCT_TAG} for example, SUNBIRD_0_7_BRANCH | |||
* ${RC_TAG} is made by appending _RC to the ${PRODUCT_TAG} for example, SUNBIRD_0_7_RC | |||
* ${RELEASE_TAG} is made by appending _RELEASE to the ${PRODUCT_TAG} for example, SUNBIRD_0_7_RELEASE | |||
=== mozilla cvs repository === | |||
1. Create a branch from the branch you are releasing from. This creates a ${PRODUCT_TAG}_BRANCH from the MOZILLA_1_8_BRANCH, | |||
<pre> | |||
cvs rtag -r MOZILLA_1_8_BRANCH -b ${PRODUCT_TAG}_BRANCH mozilla | |||
</pre> | |||
2. Test that the branch was properly created by checking out from the branch. | |||
<pre> cvs co -r ${BRANCH_TAG}_BRANCH mozilla/calendar </pre> | |||
=== l10n cvs repository === | |||
* Note that you will need L10N access to do this | |||
<pre> | |||
# Branch Locales like we did for the SUNBIRD_0_5_RELEASE earlier: | |||
cvs -d ${CVSROOT}/l10n rtag -r MOZILLA_1_8_BRANCH -b ${PRODUCT_TAG}_BRANCH l10n | |||
</pre> | |||
From now on, changes meant to apper in the release are done on this branch. | |||
== Change Tinderboxes for Release == | |||
"tinderbox-config.pl" files have to be changed to let the tinderboxes pick up the release branch. Also the destination on the stage server needs to be changed. | |||
NOTES: | |||
* be sure to make these changes on the cvs branch the desired tinderbox picks up. | |||
The following sample shows the changes done for linux when switching back from "release mode" to "nightly". | |||
<pre> | |||
Index: tinder-config.pl | |||
=================================================================== | |||
RCS file: /cvsroot/mozilla/tools/tinderbox-configs/sunbird/linux/tinder-config.pl,v | |||
retrieving revision 1.26.2.8 | |||
retrieving revision 1.26.2.9 | |||
diff -u -r1.26.2.8 -r1.26.2.9 | |||
--- tinder-config.pl 24 May 2007 16:56:07 -0000 1.26.2.8 | |||
+++ tinder-config.pl 28 Jun 2007 20:21:07 -0000 1.26.2.9 | |||
@@ -49,8 +49,8 @@ | |||
# Tests | |||
$CleanProfile = 1; | |||
$ResetHomeDirForTests = 1; | |||
-$ProductName = "Sunbird"; | |||
-#$ProductName = 'Calendar'; | |||
+#$ProductName = "Sunbird"; | |||
+$ProductName = 'Calendar'; | |||
$VendorName = 'Mozilla'; | |||
#$RunMozillaTests = 1; # Allow turning off of all tests if needed. | |||
@@ -166,13 +166,8 @@ | |||
$LocalizationVersionFile = 'calendar/sunbird/config/version.txt'; | |||
-#%WGetFiles = ( | |||
-# "http://stage.mozilla.org/pub/mozilla.org/calendar/sunbird/nightly/latest-mozilla1.8/sunbird-%version%.en-US.linux-i686.tar.gz" => | |||
-# "/builds/tinderbox/Sb-Mozilla1.8-l10n/Linux_2.4.21-37.EL_Clobber/sunbird.tar.gz" | |||
-# ); | |||
- | |||
%WGetFiles = ( | |||
- "http://stage.mozilla.org/pub/mozilla.org/calendar/sunbird/nightly/candidates/0.5rc1/sunbird-%version%.en-US.linux-i686.tar.gz" => | |||
+ "http://stage.mozilla.org/pub/mozilla.org/calendar/sunbird/nightly/latest-mozilla1.8/sunbird-%version%.en-US.linux-i686.tar.gz" => | |||
"/builds/tinderbox/Sb-Mozilla1.8-l10n/Linux_2.4.21-37.EL_Clobber/sunbird.tar.gz" | |||
); | |||
@@ -190,8 +185,8 @@ | |||
$BuildTree = 'Mozilla1.8-l10n'; | |||
#$BuildName = ''; | |||
-#$BuildTag = 'MOZILLA_1_8_BRANCH'; | |||
-$BuildTag = 'SUNBIRD_0_5_RELEASE'; | |||
+$BuildTag = 'MOZILLA_1_8_BRANCH'; | |||
+#$BuildTag = 'SUNBIRD_0_5_RELEASE'; | |||
#$BuildConfigDir = 'mozilla/config'; | |||
#$Topsrcdir = 'mozilla'; | |||
</pre> | |||
== Change the Version Number == | |||
* You check out the branch you just created - use standard "check out code from mozilla cvs method", just substitute in the new branch for your branch parameter | |||
* On this branch, you change the follwing: | |||
* calendar/sunbird/app/module.ver | |||
* calendar/sunbird/config/version.txt | |||
* Then you: | |||
<pre>cvs -d ${CVSROOT} co -r ${PRODUCT_TAG}_BRANCH\ | |||
mozilla/calendar/sunbird/app/module.ver mozilla/calendar/sunbird/config/version.txt | |||
</pre> | |||
== Create localized version of Lightning == | |||
== Tag RC == | |||
At a specific point in time, when you feel it's right do | |||
<pre> | |||
cvs rtag -r ${PRODUCT_TAG}_BRANCH ${PRODUCT_TAG}_RC mozilla | |||
cvs rtag -r ${PRODUCT_TAG}_BRANCH ${PRODUCT_TAG}_RC l10n | |||
</pre> | |||
of cause you can use something like "..._RCn" where "n" is the number of your release candidate. | |||
== Tag Release == | |||
Probably the best way to do it is to add the release tag to an already existing RC tag. Make sure to use the latest RC tag... | |||
Could look like this: | |||
<pre> | |||
cvs rtag -r ${PRODUCT_TAG}_RC ${PRODUCT_TAG}_RELEASE mozilla | |||
cvs rtag -r ${PRODUCT_TAG}_RC ${PRODUCT_TAG}_RELEASE l10n | |||
</pre> | |||
== Create Mac universal binaries == | |||
== Move stuff around on stage server == | |||
------------------------------------------------------ | |||
= '''Release Process Old Page''' = | |||
keeping as reference for now - probaly remove when reworking is done. | |||
------------------------------------------------------ | |||
== Create a branch == | == Create a branch == | ||
edits