-
-
Notifications
You must be signed in to change notification settings - Fork 49
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
1 parent
c3a98e5
commit 22f4141
Showing
3 changed files
with
43 additions
and
25 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,46 +1,64 @@ | ||
# Contributing | ||
|
||
Thank you for helping radish to get a better piece of software. | ||
Thank you for helping radish to get a better and better! :tada: | ||
|
||
## Support | ||
|
||
If you have any questions regarding the usage of radish as a BDD tool please use [StackOverflow](https://stackoverflow.com). | ||
If you have any questions regarding the usage of radish please use | ||
[a GitHub Issue](https://github.com/radish-bdd/radish/issues/new?assignees=&labels=question&template=question.md&title=). | ||
|
||
## Reporting Issues / Proposing Features | ||
## Reporting Bugs / Proposing Features | ||
|
||
Before you submit an Issue or proposing a Feature check the existing Issues in order to avoid duplicates. <br> | ||
Please make sure you provide enough information to work on your submitted Issue or proposed Feature: | ||
Before you submit a Bug or propose a Feature check the existing Issues in order to avoid duplicates. <br> | ||
Please make sure you provide enough information to work on your submitted Bug or proposed Feature: | ||
|
||
* Which version of radish are you using? | ||
* Which version of python are you using? | ||
* Which version of Python are you using? | ||
* On which platform are you running radish? | ||
|
||
Make sure to use the GitHub Template when reporting an issue. | ||
Make sure to use the GitHub Template when reporting an Issue. | ||
|
||
It's best if you can provide a small-ish standalone example of the Bug you discovered | ||
or the Feature you have in mind. | ||
|
||
## Pull Requests | ||
|
||
We are very happy to receive Pull Requests considering: | ||
|
||
* Style Guide. Follow the rules of [PEP8](http://legacy.python.org/dev/peps/pep-0008/), but you may ignore *too-long-lines* and similar warnings. There is a *pylintrc* file for more information. | ||
* Tests. If our change affects python code inside the source code directory, please make sure your code is covered by an automated test case. | ||
* Style Guide. Follow the rules of [PEP8](http://legacy.python.org/dev/peps/pep-0008/) and make sure `tox -e lint` passes on your changes. | ||
* Tests. Make sure your code is covered by an automated test case. Make sure all tests pass. | ||
|
||
### Testing | ||
## Development | ||
|
||
To test the radish source code against all supported python versions you should use *tox*: | ||
radish uses the *extra* requirements feature of `setuptools` to specify all | ||
the dependencies needed to develop radish. | ||
A set of extra requirements can be installed with the following `pip` syntax: | ||
|
||
```bash | ||
cd ~/work/radish | ||
pip install tox | ||
tox | ||
pip install -e '.[<extras>]' | ||
``` | ||
|
||
However, if you want to test your code on certain circumstances you can create a *virtualenv*: | ||
whereas `<extras>` can be one of: | ||
|
||
``` | ||
cd ~/work/radish | ||
virtualenv env | ||
source env/bin/activate | ||
pip install -e '.[dev]' | ||
pytest | ||
radish -b tests/integration/radish tests/integration/features | ||
``` | ||
* `tests`: all dependencies required to run the radish unit and integration tests | ||
* `docs`: all dependencies required to build the radish documentation | ||
* `dev`: all dependencies required to develop radish. This group includes the `tests` and `docs` dependencies. [recommended] | ||
|
||
### tox: linting, testing, docs & more | ||
|
||
radish uses [`tox`](https://tox.readthedocs.io/en/latest/) to automate development tasks, | ||
like linting, testing, building the docs and creating the changelog. | ||
|
||
The radish tox setup provides the following automated tasks: | ||
|
||
* `lint`: formats and lints the code base using [`black`](https://black.readthedocs.io/en/stable/) and [`flake8`](https://flake8.readthedocs.io/en/stable/). | ||
* `manifest`: checks if the `MANIFEST.in` content is consistent with the repository content. | ||
* `py<ver>`: runs unit tests with the Python Version from `<ver>`. | ||
* `integration`: runs integration tests. | ||
* `coverage-report`: generates a coverage report. Make sure that you've run some tests before. | ||
* `docs`: builds the sphinx documentation. | ||
* `news`: generates the ChangeLog from the newsfragments in `changelog/`. Use `towncrier --draft` directly to generate a ChangeLog draft. | ||
|
||
Before commiting your changes, it's a good practice to run `tox`. | ||
So that it'll run all the preconfigured tasks. | ||
If they all pass - you are good to go for a Pull Request! :tada: |
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
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