Tox updates, setup.py fixes and CONTRIBUTING.md
This commit is contained in:
parent
5198f38620
commit
c18fa67a09
|
@ -21,7 +21,8 @@ from the repo:
|
|||
```
|
||||
$ python3 -m venv .venv
|
||||
$ . .venv/bin/activate
|
||||
(.venv) $ pip3 install .[dev,test]
|
||||
(.venv) $ pip3 install .[test]
|
||||
(.venv) $ pip3 install -r requirements-dev.txt
|
||||
(.venv) $ check_patroni
|
||||
```
|
||||
|
||||
|
@ -48,4 +49,26 @@ The `README.md` can be geneated with `./docs/make_readme.sh`.
|
|||
## Executing Tests
|
||||
|
||||
The pytests are in `./tests` and use a moker to provide a json response instead
|
||||
of having to call the patroni API.
|
||||
of having to call the patroni API. To manually run the tests use one of these
|
||||
commands :
|
||||
|
||||
```
|
||||
pytest ./tests # just the tests
|
||||
tox # pytests for all supported version of python + mypy + flake8
|
||||
tox -e py # pytests + mypy + flake8 or the default version of python
|
||||
```
|
||||
|
||||
The tests are executed automatically for each PR using the ci (see
|
||||
`.github/workflow/lint.yml` and `.github/workflow/tests.yml`).
|
||||
|
||||
## Release
|
||||
|
||||
The package is generated and uploaded to pypi when a `v*` tag is created (see
|
||||
`.github/workflow/publish.yml`).
|
||||
|
||||
Alternatively, the release can be done manually with:
|
||||
|
||||
```
|
||||
tox -e build
|
||||
tox -e upload
|
||||
```
|
||||
|
|
11
setup.py
11
setup.py
|
@ -44,21 +44,10 @@ setup(
|
|||
"click >= 8.0.1",
|
||||
],
|
||||
extras_require={
|
||||
"dev": [
|
||||
"black",
|
||||
"check-manifest",
|
||||
"flake8",
|
||||
"mypy == 0.961",
|
||||
],
|
||||
"test": [
|
||||
"pytest",
|
||||
"pytest-mock",
|
||||
],
|
||||
"release": [
|
||||
"wheel",
|
||||
"setuptools",
|
||||
"twine",
|
||||
],
|
||||
},
|
||||
entry_points={
|
||||
"console_scripts": [
|
||||
|
|
25
tox.ini
25
tox.ini
|
@ -3,7 +3,9 @@ envlist = lint, mypy, py36, py37, py38, py39, py310
|
|||
skip_missing_interpreters = True
|
||||
|
||||
[testenv]
|
||||
extras = test
|
||||
deps =
|
||||
pytest
|
||||
pytest-mock
|
||||
commands =
|
||||
pytest {toxinidir}/check_patroni {toxinidir}/tests {posargs:-vv}
|
||||
|
||||
|
@ -21,3 +23,24 @@ deps =
|
|||
mypy == 0.961
|
||||
commands =
|
||||
mypy {toxinidir}/check_patroni
|
||||
|
||||
[testenv:build]
|
||||
deps =
|
||||
wheel
|
||||
setuptools
|
||||
twine
|
||||
allowlist_externals =
|
||||
rm
|
||||
commands =
|
||||
rm --verbose --recursive --force {toxinidir}/dist/
|
||||
python setup.py check
|
||||
python setup.py sdist bdist_wheel
|
||||
python -m twine check dist/*
|
||||
|
||||
[testenv:upload]
|
||||
# requires a check_patroni section in ~/.pypirc
|
||||
skip_install = True
|
||||
deps =
|
||||
twine
|
||||
commands =
|
||||
python -m twine upload --repository check_patroni dist/*
|
||||
|
|
Loading…
Reference in a new issue