forked from karma-runner/karma
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
14 additions
and
105 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,111 +1,20 @@ | ||
# How to contribute | ||
If you are thinking about making Karma better, or you just want to hack on it, that’s great! Here | ||
are some tips to get you started. | ||
# Contributing to Karma | ||
If you are thinking about making Karma better, or you just want to hack on it, that’s great! | ||
|
||
## Getting Started | ||
**Check out the docs on how to [get started][docs_contributing].** | ||
|
||
* Make sure you have a [GitHub account](https://github.com/signup/free) | ||
* Consider [submiting a ticket](https://github.com/karma-runner/karma/issues/new) for your issue, | ||
assuming one does not already exist. | ||
* Clearly describe the issue including steps to reproduce when it is a bug. | ||
* Make sure you fill in the earliest version that you know has the issue. | ||
* For smaller tweaks and fixes that you plan to fix yourself and merge back soon, you may skip this step. | ||
When you submit your pull request, it will serve as your issue. | ||
* Fork the repository on GitHub | ||
|
||
## Initial setup | ||
* Clone your fork. For these instructions, we assume you cloned into '~/github/karma'. | ||
* Install dependencies: | ||
## Got a Question or Problem? | ||
|
||
```bash | ||
$ cd ~/github/karma | ||
# install local dependencies | ||
$ npm install | ||
If you have questions about how to use Karma, please direct these to the [Google Group][mailinglist] | ||
discussion list or [Stack Overflow][stackoverflow]. | ||
|
||
# install global dependencies | ||
$ npm install grunt-cli -g | ||
``` | ||
## Found an Issue? | ||
If you find a bug in the source code or a mistake in the documentation, you can help us by | ||
submitting and issue to our [GitHub Repository][github_newissue]. Even better you can submit a Pull Request | ||
with a fix. | ||
|
||
* Ensure you have a stable working baseline for development. | ||
```bash | ||
# This will run a full build and test pass. | ||
$ cd ~/github/karma | ||
$ grunt | ||
``` | ||
On an unmodified 'master' branch, this command should always complete and report success. | ||
|
||
If `grunt fails: | ||
* Make sure grunt-0.4 is installed: http://gruntjs.com/getting-started | ||
* Review the open issues - perhaps this is a known problem that someone else has dealt with before. | ||
* File an issue (see above) | ||
|
||
* Run 'grunt init-dev-env'. This will install a git commit trigger that will ensure your commit messages | ||
follows the [Karma - Git Commit Msg Format Conventions] | ||
|
||
|
||
|
||
## Making and Submitting Changes | ||
|
||
* Please sign our Contributor License Agreement (CLA) before sending pull requests. | ||
For any code changes to be accepted, the CLA must be signed. It's a quick process, we promise! | ||
* For individuals we have a [simple click-through form]. | ||
* For corporations we'll need you to print, sign and one of scan+email, fax or mail [the form]. | ||
* Checkout a new branch (usually based on `master`) and name it accordingly to what | ||
you intend to do | ||
* Features get the prefix `feature-` | ||
* Bug fixes get the prefix `fix-` | ||
* Improvements to the documentation get the prefix `docs-` | ||
* Use one branch per feature/fix | ||
* Make your changes | ||
* Follow [node.js style guidelines](http://nodeguide.com/style.html) (with exception of 100 characters | ||
per line) | ||
* Add tests for your changes as (or before) you make them, if at all possible. | ||
We use coffee script for our tests. | ||
* Commit your changes | ||
* Follow the [Karma - Git Commit Msg Format Conventions] | ||
* Push your changes to your forked repository | ||
* Send a pull request to the `master` branch. | ||
* Before submitting, make sure the default 'grunt' command succeeds locally. | ||
* After submitting, TravisCI will pick up your changes and report results. | ||
* Make fixes and incorporate feedback, as needed. | ||
|
||
## Build and Test Commands | ||
|
||
The default task, just calling `grunt`, will run `build jshint test`. You may also run tasks separately. | ||
|
||
Build the project: | ||
```bash | ||
$ grunt build | ||
``` | ||
Lint the files: | ||
```bash | ||
$ grunt jshint | ||
``` | ||
Run the tests: | ||
```bash | ||
|
||
# All tests | ||
$ grunt test | ||
|
||
# Separate test suites | ||
$ grunt test:unit | ||
$ grunt test:e2e | ||
$ grunt test:client | ||
``` | ||
|
||
# Additional Resources | ||
|
||
* [Issue tracker] | ||
* [Mailing List] | ||
* [General GitHub documentation] | ||
* [GitHub pull request documentation] | ||
* [@JsKarma] | ||
|
||
[Karma - Git Commit Msg Format Conventions]: http://karma-runner.github.io/0.8/dev/git-commit-msg.html | ||
[Issue tracker]: https://github.com/karma-runner/karma/issues | ||
[Mailing List]: https://groups.google.com/forum/#!forum/karma-users | ||
[General GitHub documentation]: http://help.github.com/ | ||
[GitHub pull request documentation]: http://help.github.com/send-pull-requests/ | ||
[@JsKarma]: http://twitter.com/JsKarma | ||
[simple click-through form]: http://code.google.com/legal/individual-cla-v1.0.html | ||
[the form]: http://code.google.com/legal/corporate-cla-v1.0.html | ||
[docs_contributing]: http://karma-runner.github.io/0.10/dev/contributing.html | ||
[mailinglist]: https://groups.google.com/forum/#!forum/karma-users | ||
[stackoverflow]: http://stackoverflow.com/questions/tagged/karma-runner | ||
[github_newissue]: https://github.com/karma-runner/karma/issues/new |