summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.rst
diff options
context:
space:
mode:
authorAlessandro Amici <a.amici@bopen.eu>2018-05-16 10:34:30 +0200
committerAlessandro Amici <a.amici@bopen.eu>2018-05-16 10:34:30 +0200
commit833615262a6ca1a3cbc0ef923986631bab83e80f (patch)
treefc68ef0a241052a4dae82d0fcdbff882760dcb1d /CONTRIBUTING.rst
parent735c4820614a475260091ef9fcf04ce8b6aec31b (diff)
Add initial CONTRIBUTING and dev requirements.
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r--CONTRIBUTING.rst51
1 files changed, 51 insertions, 0 deletions
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 <https://pytest.org>`_ 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 <https://tox.readthedocs.io>`_ 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