You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2014/09/25 03:18:32 UTC
[05/13] git commit: CB-7224 Updated platforms-release-process.md
CB-7224 Updated platforms-release-process.md
Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/59db7421
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/59db7421
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/59db7421
Branch: refs/heads/master
Commit: 59db74216e5ec06cf7745ad9e76ea637c9ac2697
Parents: b7615ca
Author: Steve Gill <st...@gmail.com>
Authored: Thu Aug 21 17:04:39 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 17:17:04 2014 -0700
----------------------------------------------------------------------
docs/platforms-release-process.md | 127 +++++++++++----------------------
1 file changed, 42 insertions(+), 85 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/59db7421/docs/platforms-release-process.md
----------------------------------------------------------------------
diff --git a/docs/platforms-release-process.md b/docs/platforms-release-process.md
index 60fd181..a1564ba 100644
--- a/docs/platforms-release-process.md
+++ b/docs/platforms-release-process.md
@@ -27,50 +27,34 @@ This page describes the technical steps for releasing a `Platforms Release` (see
TODO: We may want to be using [signed tags](http://git-scm.com/book/en/Git-Basics-Tagging), or at least annotated tags.
-## Getting Buy-in & Assigning a Release Manager
+Replace `Android` with the platform you are releasing.
- 1. Email the dev mailing-list and see if anyone has reason to postpone the release.
- * If so, agree upon a branching date / time.
- 1. Ask for a volunteer to be Release Manager for the release (or volunteer yourself)
+## Get Buy-in
-## Creating JIRA issues
-
-TODO: Create a new release bug script for independant platform releases.
-
-* Create the release bug for the Release Candidate:
-
- `coho create-release-bug --version=3.0.0 --username=JiraUser --password=JiraPassword`
-
-* Comments should be added to this bug after each top-level step below is taken
-
-* Set a variable for use later on:
+Email the dev mailing-list and see if anyone has reason to postpone the release.
- `JIRA="CB-????"` # Set this to the release bug.
+E.g.:
-## Branch & Tag for: cordova-mobile-spec and cordova-app-hello-world
+ Subject: [DISCUSS] Cordova-Android Release
-TODO: mobile-spec should have it's own release process instead of being a part of platform release process
+ Does anyone have any reason to delay a cordova-android platform release?
+ Any outstanding patches to land?
-TODO: app-hello-world should be tagged with tools instead of platform release
+ If not, I will start the release tomorrow.
-This should be done *before* creating branches on other repos.
-
-This step involves:
- * Updating version numbers
- * Creating release branches
- * Creating git tags
+## Creating JIRA issues
-Coho automates these steps:
+ * Create a JIRA issue to track the status of the release.
+ * Make it of type "Task"
+ * Title should be "Cordova-Android Platform Release _August 21, 2014_"
+ * Description should be: "Following steps at https://github.com/apache/cordova-coho/blob/master/docs/platforms-release-process.md"
+ * Comments should be added to this bug after each top-level step below is taken
+ * Set a variable in your terminal for use later on:
- coho prepare-release-branch --version 3.5.0 -r app-hello-world -r mobile-spec
- coho repo-status -r app-hello-world -r mobile-spec -b master -b 3.5.x
- # If changes look right:
- coho repo-push -r app-hello-world -r mobile-spec -b master -b 3.5.x
- coho tag-release --version 3.5.0 -r app-hello-world -r mobile-spec
-If the JS ever needs to be re-tagged, rerun the `tag-release` command, and then re-run the `prepare-release-branch` command for the platform repos.
+ JIRA="CB-????" # Set this to the release bug.
-## Branch & Tag for Platform Repositories
+## Branch & Tag for Platform Repository
### Before creating the release branch:
@@ -96,13 +80,13 @@ and update `CORDOVA_VERSION_MIN_REQUIRED` with the latest version macro, e.g.
### Creating the release branch
This step involves:
- * Updating cordova.js snapshots
+ * Updating cordova.js snapshot
* Updating version numbers
- * Creating release branches
- * Creating git tags
- * Updating version in package.json files
+ * Creating a release branch
+ * Creating git tags for platform and js
+ * Updating version in package.json file
-Coho automates these steps (replace android with your platform):
+Coho automates these steps:
coho prepare-release-branch --version 3.5.0 -r android
coho repo-status -r android -b master -b 3.5.x
@@ -129,7 +113,7 @@ Ensure you have the svn repos checked out:
Create archives from your tags:
- coho foreach -r android "git checkout 3.4.x"
+ coho foreach -r android "git checkout 3.5.x"
coho create-archive -r android --dest cordova-dist-dev/$JIRA/rc
Sanity Check:
@@ -156,9 +140,9 @@ To submit a fix:
git commit -am 'Your commit message'
git push origin master
git log # note the first five or six digits of the commit hash
- git checkout 2.7.x
+ git checkout 3.5.x
git cherry-pick -x commit_hash
- git push origin 2.7.x
+ git push origin 3.5.x
### What to Test
@@ -167,24 +151,24 @@ To submit a fix:
* Don't forget to set up your white-list
* Don't forget to run through the manual tests in addition to the automatic tests
* Test loading the app over HTTP (via "cordova serve" and setting the config.xml start page)
- * Run each platform's ./bin/create script
+ * Run your platform's ./bin/create script
* Ensure generated project builds & runs both through an IDE and through the cordova/* scripts
* Test Project Upgrades (old-style):
1. Create a project using the previous version of cordova
- * `coho foreach "git checkout 2.9.0"`
- * `coho foreach -r active-platform "./bin/create foo org.apache.foo foo"`
+ * `coho foreach -r android "git checkout 3.4.0"`
+ * `coho foreach -r android "./bin/create foo org.apache.foo foo"`
2. Upgrade the project via the bin/update_project script:
- * `coho foreach "git checkout 3.0.x"`
- * `coho foreach -r active-platform "cd foo && ../bin/update_project"`
+ * `coho foreach -r android "git checkout 3.5.x"`
+ * `coho foreach -r android "cd foo && ../bin/update_project"`
3. Test the result:
* Project should run
* cordova/version should report the new version
* Test Project Upgrades (new-style):
1. Create a project using the previous version of cordova
- * `coho foreach "git checkout 2.9.0"`
+ * `coho foreach "git checkout 3.4.0"`
* `./cordova-mobile-spec/createmobilespec.sh`
2. Upgrade the project via the update command:
- * `../cordova-cli/bin/cordova platform update PLATFORM`
+ * `../cordova-cli/bin/cordova platform update android`
3. Test the result:
* Project should run
* cordova/version should report the new version
@@ -202,17 +186,17 @@ To submit a fix:
### Documentation To Update
-For each repository:
+For your platform:
1. Update RELEASENOTES.md (if the file is missing, use the iOS one as a reference: [RELEASENOTES.md](https://github.com/apache/cordova-ios/blob/master/RELEASENOTES.md))
Grab changes from the previous release until now.
# Changes:
- git log --pretty=format:'* %s' --topo-order --no-merges origin/3.2.x..origin/3.3.x
+ git log --pretty=format:'* %s' --topo-order --no-merges origin/3.4.x..origin/3.5.x
# Commit count:
- git log --pretty=format:'* %s' --topo-order --no-merges origin/3.2.x..origin/3.3.x | wc -l
+ git log --pretty=format:'* %s' --topo-order --no-merges origin/3.4.x..origin/3.5.x | wc -l
# Author Count:
- git log --pretty=format:'%an' --topo-order --no-merges origin/3.2.x..origin/3.3.x | sort | uniq | wc -l
+ git log --pretty=format:'%an' --topo-order --no-merges origin/3.4.x..origin/3.5.x | sort | uniq | wc -l
Edit the commit descriptions - don't add the commits verbatim, usually they are meaningless to the user. Only show the ones relevant for the user (fixes, new features)
@@ -220,35 +204,11 @@ Edit the commit descriptions - don't add the commits verbatim, usually they are
3. Ensure the [Upgrade Guide](http://docs.phonegap.com/en/edge/guide_upgrading_index.md.html) for your platform is up-to-date
4. Ensure the other guides listed in the sidebar are up-to-date for your platform
-## Final Tagging (non-RC)
-
-This is done for all repos once testing is complete, and documentation is up-to-date. If nothing has changed since the earlier tag, no need to run the steps below. If changes have occured, make sure to cherry-pick them into the release branch and rerun commands below.
-
-Note: If you get an error due to the tag already existing on the server, view the moving tags section at the bottom of this readme on how to delete a remote git tag.
-
-Use the same coho commands as for the RCs (it will update JS & VERSION):
-
- coho prepare-release-branch --version 3.5.0 -r js -r app-hello-world -r mobile-spec
- coho repo-status -r js -r app-hello-world -r mobile-spec -b master -b 3.5.x
- # If changes look right:
- coho repo-push -r js -r app-hello-world -r mobile-spec -b master -b 3.5.x
- coho tag-release --version 3.5.0 -r js -r app-hello-world -r mobile-spec
-
-## Branching & Tagging cordova-docs
-TODO: Update to new docs release process. Not apart of platofrms release process anymore
-
- 1. Cherry pick relevant commits from master to 3.5.x branch
- 2. Generate the docs for the release on the 3.5.x branch.
- 3. Commit & tag on the 3.5.x branch.
- 4. Cherry pick commit into master.
-
-
-See [Generating a Version Release](https://git-wip-us.apache.org/repos/asf?p=cordova-docs.git;a=blob;f=README.md#l127) for more details.
## Publish final archives to dist/dev
Create archives from your tags:
- coho foreach -r android "git checkout 3.4.x"
+ coho foreach -r android "git checkout 3.5.x"
coho create-archive -r android --dest cordova-dist-dev/$JIRA/final
Sanity Check:
@@ -262,7 +222,7 @@ Upload: (replace `android` with your platform)
Find your release here: https://dist.apache.org/repos/dist/dev/cordova/
## Prepare Blog Post
- * Combine highlights from RELEASENOTES.md into a Release Announcement blog post
+ * Gather highlights from RELEASENOTES.md into a Release Announcement blog post
* Instructions on [sites page README](https://svn.apache.org/repos/asf/cordova/site/README.md)
* Get blog post proofread via [Github](http://github.com/cordova/apache-blog-posts).
@@ -294,7 +254,7 @@ __Body:__
I vote +1:
* Ran coho audit-license-headers over the relevant repos
* Used `license-checker` to ensure all dependencies have Apache-compatible licenses
- * Ensured continuous build was green when repos were tagged
+ * Ensured continuous build was green when repo was tagged
## Email the result of the vote
@@ -327,13 +287,9 @@ _Note: list of PMC members: http://people.apache.org/committers-by-project.html#
cd cordova-dist
svn up
- svn rm tools/cordova-cli-*
- svn rm tools/cordova-js*
svn rm platforms/cordova-android*
- cp ../cordova-dist-dev/$JIRA/final/cordova-cli* tools/
cp ../cordova-dist-dev/$JIRA/final/cordova-android* platforms/
- svn add tools/*
- svn add platforms/*
+ svn add platforms/cordova-android*
svn commit -m "$JIRA Published android release to dist"
cd ../cordova-dist-dev
@@ -353,7 +309,8 @@ Find your release here: https://dist.apache.org/repos/dist/release/cordova/
* And the instructions at https://svn.apache.org/repos/asf/cordova/site/README.md
### Update the Docs
-TODO: Change this to new docs release process
+TODO: Change this to new docs release process; maybe with tools process?
+
1. Upload the new docs to http://cordova.apache.org/docs
* Website README.md explains [How to update the docs](https://svn.apache.org/repos/asf/cordova/site/README.md)
* Commit should look like [this one](http://svn.apache.org/viewvc?view=revision&revision=r1478171)