Skip to content

Instantly share code, notes, and snippets.

@tjfontaine
Forked from misterdjules/gist:23d9b9d1eebfa5f7421e
Created August 19, 2014 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tjfontaine/f71bb936cd9eee015699 to your computer and use it in GitHub Desktop.
Save tjfontaine/f71bb936cd9eee015699 to your computer and use it in GitHub Desktop.

Node.js 0.12 is near, and we need your help to make it happen!

The state of Node.js 0.12

The v0.12 branch has been created recently and we're currently focused on making it as rock solid as possible before we can release it as the 0.12.0 version that we've all been looking forward to. There are currently 32 open issues that need to be fixed before the release. Some of them will be triaged to other milestones in the next couple of days, and the rest are currently being worked on by contributors to the project. We expect these issues to be fixed over the next few weeks, which means we're entering the last stretch before the release. However, fixing these open issues is not sufficient if we want a solid first 0.12.0 version. We want to make sure that as many applications as possible will work correctly when migrated to this relase.

This is where we need your help.

How you can help us make Node.js 0.12 the best release possible

Whether you're a Node.js developer or user, you can help improve this release by testing a Node.js application against the v0.12 branch. If you're a Node.js developer, testing your code with the v0.12 branch and reporting any issue you may find is probably the most helpful way to contribute to this effort. If you're a Node.js user, picking your favorite application and running it with the v0.12 branch is also a great way to help.

The next sections will guide you to:

  • Build the v0.12 branch so that you can test a Node.js application with this new version.

  • Test your favorite Node.js application with the newly built Node.js v0.12.

  • Communicate with Node.js contributors and core committers to report your results and findings.

Testing existing applications against Node.js' v0.12 branch

To test a Node.js application with the new v0.12 branch, the only thing you'll need to do is download Node.js v0.12 branch's source code and build it.

Downloading Node.js v0.12 branch's source code

There are two ways to donwload the v0.12 branch's source code:

  • Use git clone and checkout the branch v0.12:
git clone -b v0.12 git@github.com:joyent/node.git ~/node-0.12
unzip -d ~/ v0.12.zip

This will create a directory named $HOME/node-0.12 that contains the v0.12 branch's source code.

Building Node.js v0.12

Building Node.js on supported platforms (Linux, MacOS X, SmartOS and Windows) is generally easy and following the instructions in the README.md file should work for everyone. In order to avoid overwriting any installation that may already be located in /usr/local, you should use the PREFIX environment variable. Set it to where the v0.12 version should be installed and export the environment variable before building Node.js.

This would install the v0.12 version in $HOME/node-v0.12:

export PREFIX=~/node-v0.12
./configure
make
make install

In case you have some difficulties getting the v0.12 to build, please join #libuv on Freenode and we'll be happy to assist you.

Runnng Node.js v0.12

The last step is to make sure that the v0.12 branch has been correctly built and installed. Run:

node --version

and the output should be:

v0.11.14-pre

If the output shows a different version number, it means that the newly built v0.12 binary is not in your PATH. In order to fix that, simply enter the following command in your shell:

export PATH=/path/to/node/v0.12:${PATH}

where /path/to/node/v0.12 corresponds to where you installed the v0.12 branch.

If the output from node --version matches, you can now run the application you chose to test as usual.

Before testing an application

It's important that we coordinate our testing efforts so that we can test the broadest set of Node.js applications possible and we don't duplicate work. To do that, simply head to the list of applications tested with the v0.12 branch and make sure that the application you picked has not already been tested on the same platform. If not, go ahead and test it.

How to thoroughly test an application?

There are many ways to test a Node.js application. If you wrote this application, you should know how to test it thoroughly. If you're a user of this application or if you picked an application you've never used, it can be a bit more difficult. There's not a single way to test every Node.js applications. It depends on the type of application and how it is written.

However, here's a suggestion on how to know how to test it:

  • Read the README.md file that comes with the application's source code. It should contain instructions on how to install and run it. Play with the documented features and see if it behaves reasonably. Looks at the log messages if any and see if there's anything suspicious.

  • Look into the package.json file under the "scripts" key. If there is a "test" key, it means that this application comes with automated tests and that you can run them simply by entering the following command line:

npm test

After the tests ran, you should be able to determine if any test failed.

  • Look into the application's source code and see if you can find a directory named 'test'. If so, it's likely that it contains code for a tests suite that you can run. You'll have to find a way to run it.

If you can't find a way to test a Node.js application, please join us in #libuv on Freenode and we'll be happy to help you.

When you're done testing an application, it's time to report your findings to the project.

Communicating results to the project

To report the results of your tests, point your browser to the list of applications that have been tested with the v0.12 branch and follow the instructions in the "Introduction section". In case some tests failed, be sure to create the appropriate issues in the Node.js GitHub issues tracker. If you're unsure on how to proceed, please join #libuv on Freenode, we'll be happy to help you.

Spreading the word

The more people who can join us in this effort to make Node.js 0.12.0 rock solid, the better. Even if you're not able to help with testing applications with the v0.12 branch, spreading the word on Twitter, to your coworkers and to your friends is also a great way to contribute. If you're using Twitter, please use the #NodeRockSolid hashtag in your tweets.

Thank you, and happy testing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment