553c089d09
OpenStack CI now uses tox4 by default. - Drop "skipsdist = True". When skipsdist=True is specified, a target application is not installed into a tox env, but there seems no reason to do so. In various other OpenStack projects, a target applicatin needs to be installed into a tox vnev, for example, in docs and/or linter jobs and it causes failures with tox4. So dropping it would avoid potential future failures. - Add ignore_basepython_conflict = True to tox.ini With latest tox (>4.0.15) python version conflicted with base python. Adding ignore_basepython_conflict = True solves this issue. Change-Id: Id25cde435e9eaf6d5d2573d522cda763dad1a89b
80 lines
2.3 KiB
INI
80 lines
2.3 KiB
INI
[tox]
|
|
minversion = 3.18.0
|
|
envlist = py3,pep8
|
|
# Automatic envs (pyXX) will only use the python version appropriate to that
|
|
# env and ignore basepython inherited from [testenv] if we set
|
|
# ignore_basepython_conflict.
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
DJANGO_SETTINGS_MODULE=watcher_dashboard.test.settings
|
|
# Note the hash seed is set to 0 until horizon can be tested with a
|
|
# random hash seed successfully.
|
|
PYTHONHASHSEED=0
|
|
allowlist_externals = /bin/bash
|
|
rm
|
|
find
|
|
install_command = pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} {opts} {packages}
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands =
|
|
rm -f .testrepository/times.dbm
|
|
find . -type f -name "*.pyc" -delete
|
|
find . -type d -name "__pycache__" -delete
|
|
python manage.py test --settings=watcher_dashboard.test.settings \
|
|
--exclude-tag integration \
|
|
watcher_dashboard
|
|
|
|
[testenv:pep8]
|
|
commands = flake8
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
|
|
|
|
[testenv:cover]
|
|
commands =
|
|
coverage erase
|
|
coverage run --source watcher_dashboard {toxinidir}/manage.py test \
|
|
--settings=watcher_dashboard.test.settings \
|
|
--exclude-tag integration watcher_dashboard {posargs}
|
|
coverage xml
|
|
coverage html -d ./cover --omit='*tests*'
|
|
coverage report
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
envdir = {toxworkdir}/docs
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
rm
|
|
make
|
|
commands =
|
|
rm -rf doc/build/pdf
|
|
sphinx-build -W --keep-going -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper {posargs}
|
|
|
|
[flake8]
|
|
# F405 TEMPLATES may be undefined, or defined from star imports
|
|
# (because it is not easy to avoid this in openstack_dashboard.test.settings)
|
|
# W504 line break after binary operator
|
|
ignore = F405,W504
|
|
show-source = True
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,.ropeproject,tools
|
|
|