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 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 CONTRIBUTING.rst (limited to 'CONTRIBUTING.rst') 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 -- cgit v1.2.3