This repository has been archived by the owner on Jun 28, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtox.ini
132 lines (122 loc) · 3.36 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
[tox]
minversion = 3.8.6
envlist =
lint
functional
skipdist = True
skip_missing_interpreters = True
isolated_build = True
[travis]
python =
3.7: lint, functional
[testenv]
usedevelop = True
basepython = python3.7
passenv = *
setenv =
PYTHONDONTWRITEBYTECODE=1
deps =
flake8>=3.6.0,<4
yamllint>=1.11.1,<2
mock==2.0.0
pytest==3.6.0
pytest-cov==2.6.0
pytest-helpers-namespace==2019.1.8
pytest-mock==1.10.0
pytest-verbose-parametrize==1.4.0
pytest-xdist==1.26.0
commands_pre =
find {toxinidir} -type f -not -path '{toxinidir}/.tox/*' -path '*/__pycache__/*' -path '*/build/*' -name '*.py[c|o]' -delete
commands =
unit: pytest tests/unit/ --cov={toxinidir}/picli/ --no-cov-on-fail {posargs}
lint: flake8 picli
lint: yamllint -s tests/
functional: bash tests/functional/run-tests.sh
whitelist_externals =
find
bash
# Enabling sitepackages is needed in order to avoid encountering exceptions
# caused by missing selinux python bindinds in ansible modules like template.
# Selinux python bindings are binary and they cannot be installed using pip
# in virtualenvs. Details: https://github.com/ansible/molecule/issues/1724
sitepackages = false
[testenv:lint]
deps =
flake8>=3.6.0,<4
yamllint>=1.11.1,<2
extras =
skip_install = true
usedevelop = false
[testenv:doc]
# doc requires py3 due to use of f'' strings and using only python3 as
# basepython risks using python3.4 which is not supported.
basepython = python3.7
passenv = *
commands =
python setup.py build_sphinx -n -W --builder=html
extras =
docs
[testenv:metadata-validation]
deps =
collective.checkdocs
twine
usedevelop = False
# Ref: https://twitter.com/di_codes/status/1044358639081975813
commands =
python -m setup checkdocs check --metadata --restructuredtext --strict --verbose
twine check .tox/dist/*
[testenv:build-docker]
# skip under Windows
platform = ^darwin|^linux
# `usedevelop = True` overrided `skip_install` instruction, it's unwanted
usedevelop = False
# don't install Molecule in this env
skip_install = True
# don't install any Python dist deps
deps =
setuptools_scm
# setuptools_scm
# reset pre-commands
commands_pre =
# build the docker container
commands =
sh -c '\
TAG=$(python -c "from setuptools_scm import get_version; print(get_version())" | tr '+' '-') && \
echo Building version "$TAG"... && \
sudo docker build \
--pull --rm \
{posargs:-t afcyber-dream/piedpiper-picli:$TAG} .\
'
whitelist_externals =
sh
[testenv:build-dists-local]
description =
Generate dists which may be not ready
for upload to PyPI because of
containing PEP440 local version part
# `usedevelop = true` overrides `skip_install` instruction, it's unwanted
usedevelop = false
# don't install molecule itself in this env
skip_install = true
deps =
pep517 >= 0.5.0
setenv =
commands =
python -m pep517.build \
--source \
--binary \
--out-dir {toxinidir}/dist/ \
{toxinidir}
[testenv:build-dists]
description = Generate dists ready for upload to PyPI
usedevelop = {[testenv:build-dists-local]usedevelop}
skip_install = {[testenv:build-dists-local]skip_install}
deps = {[testenv:build-dists-local]deps}
setenv =
PYPI_UPLOAD = true
commands =
rm -rfv {toxinidir}/dist/
{[testenv:build-dists-local]commands}
whitelist_externals =
rm
{[testenv]whitelist_externals}