From 833615262a6ca1a3cbc0ef923986631bab83e80f Mon Sep 17 00:00:00 2001 From: Alessandro Amici Date: Wed, 16 May 2018 10:34:30 +0200 Subject: Add initial CONTRIBUTING and dev requirements. --- CONTRIBUTING.rst | 51 ++++++++++++++++++++++++++++++++++++++++++++ tests/requirements-dev.txt | 7 ++++++ tests/requirements-tests.txt | 2 +- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 CONTRIBUTING.rst create mode 100644 tests/requirements-dev.txt diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst new file mode 100644 index 0000000..734f9b4 --- /dev/null +++ b/CONTRIBUTING.rst @@ -0,0 +1,51 @@ + +.. highlight:: console + +How to develop +-------------- + +Install the package following README.rst and then install development dependencies:: + + pip install -U -r tests/requirements-dev.txt + +Unit tests can be run with `pytest `_ with:: + + $ pytest -v --flakes --cov=cdsapi --cov-report=html --cache-clear + +Coverage can be checked opening in a browser the file ``htmlcov/index.html`` for example with:: + + $ open htmlcov/index.html + +Code quality control checks can be run with:: + + $ pytest -v --pep8 --mccabe + +The complete python versions tests are run via `tox `_ with:: + + $ tox + +Please ensure the coverage at least stays the same before you submit a pull request. + + +Dependency management +--------------------- + +Update the `requirements-tests.txt` file with versions with:: + + pip-compile -U -o tests/requirements-tests.txt setup.py tests/requirements-tests.in # -U is optional + + +Release procedure +----------------- + +Quality check release:: + + $ git status + $ check-manifest + $ tox + +Release with zest.releaser:: + + $ prerelease + $ release + $ postrelease diff --git a/tests/requirements-dev.txt b/tests/requirements-dev.txt new file mode 100644 index 0000000..049cc41 --- /dev/null +++ b/tests/requirements-dev.txt @@ -0,0 +1,7 @@ +check-manifest +detox +pip-tools +pyroma +tox +tox-pyenv +zest.releaser diff --git a/tests/requirements-tests.txt b/tests/requirements-tests.txt index 705261a..6394374 100644 --- a/tests/requirements-tests.txt +++ b/tests/requirements-tests.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile # To update, run: # -# pip-compile --output-file requirements-tests.txt setup.py requirements-tests.in +# pip-compile --output-file tests/requirements-tests.txt setup.py tests/requirements-tests.in # apipkg==1.4 # via execnet attrs==18.1.0 # via pytest -- cgit v1.2.3