Skip to content
Browse files

add CONTRIBUTING.md

  • Loading branch information...
1 parent 06f629c commit 68a8047d83f06f3bc34d1cd48742ed46d7cbcda8 @zeke zeke committed Mar 23, 2013
Showing with 81 additions and 4 deletions.
  1. +75 −0 CONTRIBUTING.md
  2. +6 −4 README.md
View
75 CONTRIBUTING.md
@@ -0,0 +1,75 @@
+## Testing buildpack changes using Anvil
+
+[Anvil](https://github.com/ddollar/anvil) is a generic build server for Heroku.
+
+```
+gem install anvil-cli
+
+```
+
+The [heroku-anvil CLI plugin](https://github.com/ddollar/heroku-anvil) is a wrapper for anvil.
+
+```
+heroku plugins:install https://github.com/ddollar/heroku-anvil
+```
+
+The [ddollar/test buildpack](https://github.com/ddollar/buildpack-test) is for testing things: it runs `bin/test` on your app.
+
+```
+heroku build -b ddollar/test # -b can also point to a local directory
+```
+
+## Compiling new versions of node and npm using Vulcan
+
+Install [vulcan](https://github.com/heroku/vulcan) and create your own build server. Use any
+app name you want and vulcan will remember it in a `~/.vulcan` config file.
+
+```
+gem install vulcan
+vulcan create builder-bob
+```
+
+Store your S3 credentials in `~/.aws/`
+
+```
+mkdir -p ~/.aws
+echo 'YOUR_AWS_KEY' > ~/.aws/key-nodejs.access
+echo 'YOUR_AWS_SECRET' > ~/.aws/key-nodejs.secret
+```
+
+Add a credentials exporter to your `.bash_profile` or `.bashrc`
+
+```
+setup_nodejs_env () {
+ export AWS_ID=$(cat ~/.aws/key-nodejs.access)
+ export AWS_SECRET=$(cat ~/.aws/key-nodejs.secret)
+ export S3_BUCKET="heroku-buildpack-nodejs"
+}
+```
+
+Build:
+
+```
+setup_nodejs_env
+support/package_nodejs <node-version>
+support/package_npm <npm-version>
+```
+
+## Publishing buildpack updates
+
+```
+heroku plugins:install https://github.com/heroku/heroku-buildpacks
+
+cd heroku-buildpack-nodejs
+git checkout master
+heroku buildpacks:publish heroku/nodejs
+```
+
+- Email [dos@heroku.com](mailto:dos@heroku.com) if changes are significant.
+- Add a [changelog item](https://devcenter.heroku.com/admin/changelog_items/new).
+- Update [Node Devcenter articles](https://devcenter.heroku.com/admin/articles/owned) as necessary.
+
+## Keeping up with the Nodeses
+
+- Run `npm info npm version` to find out the latest available version of npm.
+- Follow [@nodejs](https://twitter.com/nodejs) and [@npmjs](https://twitter.com/npmjs) on Twitter.
View
10 README.md
@@ -12,7 +12,7 @@ Example usage:
$ ls
Procfile package.json web.js
- $ heroku create --stack cedar --buildpack http://github.com/heroku/heroku-buildpack-nodejs.git
+ $ heroku create --buildpack http://github.com/heroku/heroku-buildpack-nodejs.git
$ git push heroku master
...
@@ -48,10 +48,10 @@ To list the available versions of Node.js and npm, see these manifests:
http://heroku-buildpack-nodejs.s3.amazonaws.com/manifest.nodejs
http://heroku-buildpack-nodejs.s3.amazonaws.com/manifest.npm
-Hacking
--------
+Contributing
+------------
-To use this buildpack, fork it on Github. Push up changes to your fork, then create a test app with `--buildpack <your-github-url>` and push to it.
+To use this buildpack, fork it on Github. Push up changes to your fork, then create a test app with `--buildpack <your-github-url>` and push to it.
To change the vendored binaries for Node.js, NPM, and SCons, use the helper scripts in the `support/` subdirectory. You'll need an S3-enabled AWS account and a bucket to store your binaries in.
@@ -71,3 +71,5 @@ Open `bin/compile` in your editor, and change the following lines:
Commit and push the changes to your buildpack to your Github fork, then push your sample app to Heroku to test. You should see:
-----> Vendoring node 0.6.7
+
+For more info, see [CONTRIBUTING.md](CONTRIBUTING.md)

0 comments on commit 68a8047

Please sign in to comment.
Something went wrong with that request. Please try again.