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/03 01:56:42 UTC
git commit: Added proper npm publishing info
Repository: cordova-coho
Updated Branches:
refs/heads/master 29b9529d2 -> edcb110df
Added proper npm publishing info
Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/edcb110d
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/edcb110d
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/edcb110d
Branch: refs/heads/master
Commit: edcb110df93615999f3685e7b85d8b679f66667c
Parents: 29b9529
Author: Steve Gill <st...@gmail.com>
Authored: Tue Sep 2 16:55:58 2014 -0700
Committer: Steve Gill <st...@gmail.com>
Committed: Tue Sep 2 16:55:58 2014 -0700
----------------------------------------------------------------------
docs/cadence-release-process.md | 94 +++++++++++++++++-------------------
1 file changed, 45 insertions(+), 49 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/edcb110d/docs/cadence-release-process.md
----------------------------------------------------------------------
diff --git a/docs/cadence-release-process.md b/docs/cadence-release-process.md
index 8255b1c..d7d2527 100644
--- a/docs/cadence-release-process.md
+++ b/docs/cadence-release-process.md
@@ -75,8 +75,8 @@ If the JS ever needs to be re-tagged, rerun the `tag-release` command, and then
* TODO: More details needed here
3. Update your local cordova-js
* `coho repo-update -r js`
+ 4. Update `RELEASENOTES.md` by pasting the output from `git log --pretty=format:'* %s' --topo-order --no-merges origin/3.6.x..HEAD`
4. For iOS only:
- * Update [RELEASENOTES.md](https://github.com/apache/cordova-ios/blob/master/RELEASENOTES.md) (see instruction at the top of the file)
* Update [CordovaLib/Classes/CDVAvailability.h](https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVAvailability.h)
by adding a new macro for the new version, e.g.
@@ -101,23 +101,21 @@ This step involves:
Coho automates these steps (replace android with your platform):
- coho prepare-release-branch --version 3.6.x -r android
+ coho prepare-release-branch --version 3.6.0 -r android
coho repo-status -r android -b master -b 3.6.x
# If changes look right:
coho repo-push -r android -b master -b 3.6.x
coho tag-release --version 3.6.0 -r android
-## Tagging RC1 of cordova-cli
+## Tagging RC of cordova-cli, cordova-lib, cordova-plugman
-cordova-cli doesn't use a release branch. Follow the instructions at [tools-release-process.md](tools-release-process.md), but in addition:
+These tools don't use a release branch. Follow the instructions at [tools-release-process.md](tools-release-process.md), but in addition:
-Update the tool to point to the new repo versions (within `cordova-lib/cordova-lib/src/cordova/platforms.js`)
+Update the tools to point to the new repo versions (within `cordova-lib/cordova-lib/src/cordova/platforms.js`)
-Instead of the normal `npm publish` flow:
+Make sure to update `cordova-js` dependency for `cordova-lib`
- npm publish --tag rc
-
-** WATCH OUT! You may have to run `npm tag cordova@x.x.x latest` due to a bug in npm: https://github.com/npm/npm/issues/4837
+Also update `cordova-lib` dependency for `corodva-cli` and `cordova-plugman`
## Publish RC to dist/dev
Ensure you have the svn repos checked out:
@@ -126,12 +124,16 @@ Ensure you have the svn repos checked out:
Create archives from your tags:
- coho foreach -r cadence "git checkout 3.6.x"
- coho create-archive -r cadence --dest cordova-dist-dev/$JIRA/rc
+ coho create-archive -r tools --dest cordova-dist-dev/$JIRA
+ coho create-archive -r cadence --dest cordova-dist-dev/$JIRA --tag 3.6.0
+
+If JS was branched then you will also have to run:
+
+ coho create-archive -r js --dest cordova-dist-dev/$JIRA --tag 3.6.0
Sanity Check:
- coho verify-archive cordova-dist-dev/$JIRA/rc/*.zip
+ coho verify-archive cordova-dist-dev/$JIRA/*.zip cordova-dist-dev/$JIRA/*.tgz
Upload:
@@ -139,6 +141,24 @@ Upload:
Find your release here: https://dist.apache.org/repos/dist/dev/cordova/
+## Publish RC to NPM
+
+ cd cordova-dist-dev
+
+publish all at once
+
+ for package in $(find *.tgz); do $(npm publish --tag rc $package); done;
+
+publish one package at a time
+
+ npm publish --tag rc cordova-android-3.6.0.tgz
+
+Note: You need to be an owner for each of these repos and the versions can't already have been published
+
+For testing, you can now download all of the above repos with:
+
+ npm install -g cordova@rc
+
## Testing & Documentation
Once all the repos are branched & tagged, we focus on testing & fixing all of the regressions we find.
@@ -217,20 +237,6 @@ 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.6.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.6.x
- # If changes look right:
- coho repo-push -r js -r app-hello-world -r mobile-spec -b master -b 3.6.x
- coho tag-release --version 3.6.0 -r js -r app-hello-world -r mobile-spec
-
## Branching & Tagging cordova-docs
1. Cherry pick relevant commits from master to 3.6.x branch
@@ -241,22 +247,6 @@ Use the same coho commands as for the RCs (it will update JS & VERSION):
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 cadence "git checkout 3.6.x"
- coho create-archive -r cadence --dest cordova-dist-dev/$JIRA/final
-
-Sanity Check:
-
- coho verify-archive cordova-dist-dev/$JIRA/final/*.zip
-
-Upload:
-
- (cd cordova-dist-dev && svn add $JIRA/final && svn commit -m "$JIRA Uploading archives for cadence release vote")
-
-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
* Instructions on [sites page README](https://svn.apache.org/repos/asf/cordova/site/README.md)
@@ -285,7 +275,7 @@ __Body:__
Voting guidelines: https://github.com/apache/cordova-coho/blob/master/docs/release-voting.md
- Voting will go on for a minimum of 48 hours.
+ Voting will go on for a minimum of 72 hours.
I vote +1:
* Ran coho audit-license-headers over the relevant repos
@@ -317,7 +307,7 @@ _Note: list of PMC members: http://people.apache.org/committers-by-project.html#
* Add back `-dev`
* Start a new vote
-## Otherwise: Publish to dist/
+## Otherwise: Publish to dist/ & npm
cd cordova-dist
svn up
@@ -326,9 +316,10 @@ _Note: list of PMC members: http://people.apache.org/committers-by-project.html#
svn rm platforms/*
cp ../cordova-dist-dev/$JIRA/final/cordova-js* tools/
cp ../cordova-dist-dev/$JIRA/final/cordova-cli* tools/
+ cp ../cordova-dist-dev/$JIRA/final/cordova-lib* tools/
+ cp ../cordova-dist-dev/$JIRA/final/cordova-plugman* tools/
cp ../cordova-dist-dev/$JIRA/final/cordova-mobile-spec* tools/
cp ../cordova-dist-dev/$JIRA/final/cordova-app-hello* tools/
- cp ../cordova-dist-dev/$JIRA/final/cordova-docs* docs/
cp ../cordova-dist-dev/$JIRA/final/cordova-ios* platforms/
cp ../cordova-dist-dev/$JIRA/final/cordova-android* platforms/
cp ../cordova-dist-dev/$JIRA/final/cordova-blackberry* platforms/
@@ -339,8 +330,16 @@ _Note: list of PMC members: http://people.apache.org/committers-by-project.html#
cp ../cordova-dist-dev/$JIRA/final/cordova-amazon-fireos* platforms/
svn add tools/*
svn add platforms/*
- svn add docs/*
svn commit -m "$JIRA Published cadence release to dist"
+
+For each package to be released, replace `cordova-android` with the package name and `3.6.0` with the new version.
+
+Protip: The version is in the filename. `latest` is the public release tag on npm.
+
+ cd ../cordova-dist-dev
+ npm tag cordova-android@3.6.0 latest cordova-android-3.6.0.tgz
+
+Remove RCs from dist/dev
cd ../cordova-dist-dev
svn up
@@ -367,9 +366,6 @@ Find your release here: https://dist.apache.org/repos/dist/release/cordova/
* Repository README.md explains [How to update the HTTP redirect](https://github.com/apache/cordova-labs/tree/redirect-docs-cordova-io#usage)
* Nodejitsu is limited to one deployer, so Michael Brooks is currently the point of contact.
-### Push platforms and tools to npm
-Refer to [tools-release-process.md](tools-release-process.md)
-
### Tell JIRA it's Released
* Visit https://issues.apache.org/jira/plugins/servlet/project-config/CB/versions