Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 2.49 KB

CONTRIBUTING.md

File metadata and controls

65 lines (43 loc) · 2.49 KB

Development

Prerequisites

Philosophy

Development of a feature for this repository should follow the workflow described by Vincent Driessen.

Here are the minimal procedure you should follow :

  1. Create an issue on the github repository, describing the problem you will then address with your feature/fix. This is an important step as it forces one to think about the issue (to describe an issue to others, one has to think it through first).

  2. Create a separate branch from dev, to work on

git checkout -b feature/myfeature dev

The convention is to always have feature/ in the branch name. The myfeature part should describe shortly what the feature is about (separate words with _).

  1. Try to follow these conventions for commit messages:
  • Keep the subject line short (i.e. do not commit more than a few changes at the time)
  • Use imperative for commit messages
  • Do not end the commit message with a period You can use
git commit --amend

to edit the commit message of your latest commit (provided it is not already pushed on the remote server). With --amend you can even add/modify changes to the commit.

  1. Push your local branch on the remote server origin
git push

If your branch does not exist on the remote server yet, git will provide you with instructions, simply follow them.

Step 3: Run tests locally

To run integration tests locally:

pip install -r tests/test_requirements.txt

The tests which are currently automated are linting tests, you can run them locally by copying the scripts under the comment # command to run tests of the .travis.yml file.

We want more integration tests.

We do not have a suite of unit tests yet.

Step 4: Submit a pull request (PR)

Follow the steps of the github help to create the PR. Please note that you PR should be directed from your branch (for example myfeature) towards the branch dev.

Add a line Fix #<number of the issue created in Step 2.0> in the description of your PR, so that when it is merged, it automatically closes the issue.

TODO elaborate on the pull request