To contribute changes (source code, scripts, configuration) to this repository please follow the steps below. These steps are a guideline for contributing and do not necessarily need to be followed for all changes.
- If you intend to fix a bug please create an issue before forking the repository.
- Fork the
master
branch of this repository from the latest commit. - Create a branch from your fork's
master
branch to help isolate your changes from any further work onmaster
. If fixing an issue try to reference its name in your branch name (e.g.issue-123
) to make changes easier to track the changes. - Work on your proposed changes on your fork. If you are fixing an issue include at least one unit test that reproduces it if the code changes to fix it have not been applied; if you are adding new functionality please include unit tests appropriate to the changes you are making. The code coverage figure should be maintained where possible.
- When you think your changes are complete, test that the code builds cleanly using
Build.cmd
. There should be no compiler, StyleCop or FxCop warnings and all tests should pass. - Once your changes build cleanly locally submit a Pull Request back to the
master
branch from your fork's branch. Ideally commits to your branch should be squashed before creating the Pull Request. If the Pull Request fixes an issue please reference it in the title and/or description. Please keep changes focused around a specific topic rather than include multiple types of changes in a single Pull Request. - After your Pull Request is created it will build against the repository's continuous integration.
- Once the Pull Request has been reviewed by the project's contributors and the CI build is successful your Pull Request will be merged back to the
master
branch, assuming that the changes are deemed appropriate.