tox: drop test-requirements.txt
We have several tox environments that don't really share the same dependencies. Currently we put everything into test-requirements.txt, meaning the linter environment gets testinfra and testinfra environment gets things like ansible-lint it's not using. Apart from being a bit faster not installing things, this is helpful for restoring the ansible -devel test. In that case, we have ansible as a project dependency; when installing from git, ansible now installs itself as "ansible-base" ("ansible" is the released pypi package that incorporates collections). So if we install ansible-lint in the testinfra environment, this pulls in ansible ... and then it breaks when tox wants to install our Zuul clone of upstream ansible (you can't have ansible and ansible-base together). Change-Id: I5f3fc93e6ddd611f319fa269e122ed576c9cb378
This commit is contained in:
parent
341340dde5
commit
001ad4d7b1
@ -1,22 +0,0 @@
|
||||
# The order of packages is significant, because pip processes them in the order
|
||||
# of appearance. Changing the order has an impact on the overall integration
|
||||
# process, which may cause wedges in the gate later.
|
||||
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
|
||||
bashate>=0.2 # Apache-2.0
|
||||
PyYAML>=3.10.0 # MIT
|
||||
ansible-lint>=4.1.0
|
||||
openstacksdk
|
||||
zuul-sphinx>=0.2.3
|
||||
testtools
|
||||
mock
|
||||
# testinfra 1.17.0 has a broken wheel that won't install under python3
|
||||
# testinfra 3.0.0 switched the ansible backend, but broke ipv6 handling
|
||||
testinfra!=1.17.0,!=3.0.0
|
||||
pytest-html # MPL-2.0
|
||||
# testinfra's ansible backend actually requires paramiko, but it's not
|
||||
# specified. After
|
||||
# https://github.com/philpep/testinfra/pull/454
|
||||
# releases we can do testinfra[ansible] here instead
|
||||
ansible>=2.8.0
|
||||
paramiko
|
||||
|
19
tox.ini
19
tox.ini
@ -7,9 +7,16 @@ skipsdist = True
|
||||
basepython = python3
|
||||
usedevelop = True
|
||||
install_command = pip install {opts} {packages}
|
||||
deps = -r{toxinidir}/test-requirements.txt
|
||||
|
||||
[testenv:linters]
|
||||
deps =
|
||||
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
|
||||
bashate>=0.2 # Apache-2.0
|
||||
PyYAML>=3.10.0 # MIT
|
||||
ansible-lint>=4.1.0
|
||||
openstacksdk
|
||||
testtools
|
||||
mock
|
||||
whitelist_externals = bash
|
||||
setenv =
|
||||
ANSIBLE_LIBRARY= {toxinidir}/tools/fake-ansible/library
|
||||
@ -25,14 +32,18 @@ commands =
|
||||
python3 -m unittest playbooks/roles/install-ansible/files/inventory_plugins/test_yamlgroup.py
|
||||
bash -c "find roles playbooks -type f -regex '.*.y[a]?ml' -print0 | xargs -t -n1 -0 ansible-lint"
|
||||
|
||||
[testenv:venv]
|
||||
commands = {posargs}
|
||||
|
||||
[testenv:docs]
|
||||
deps = -r{toxinidir}/doc/requirements.txt
|
||||
commands = sphinx-build -W -E -b html doc/source doc/build/html
|
||||
|
||||
[testenv:testinfra]
|
||||
deps =
|
||||
# testinfra 1.17.0 has a broken wheel that won't install under python3
|
||||
# testinfra 3.0.0 switched the ansible backend, but broke ipv6 handling
|
||||
testinfra!=1.17.0,!=3.0.0
|
||||
ansible-base
|
||||
pytest-html # MPL-2.0
|
||||
|
||||
# This environment assumes a gate-hosts.yaml file has been written.
|
||||
passenv =
|
||||
TESTINFRA_EXTRA_DATA
|
||||
|
@ -62,6 +62,7 @@
|
||||
- name: focal
|
||||
label: ubuntu-focal
|
||||
files:
|
||||
- tox.ini
|
||||
- playbooks/
|
||||
- roles/
|
||||
- testinfra/
|
||||
|
Loading…
x
Reference in New Issue
Block a user