b628032342
Python 3.8 is now our highest level supported python runtime. This updates the default tox target environments to swap out py37 for py38 to make sure local development testing is covering this version. This does not impact zuul jobs in any way, nor prevent local tests against py37. It just changes the default if none is explicitly provided. Change-Id: Iff25bf057492ab20c114e9b89a22bed6ca12ba3e Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
103 lines
2.5 KiB
INI
103 lines
2.5 KiB
INI
[tox]
|
|
envlist = py38,pypy,cover,pep8
|
|
minversion = 3.1.1
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
OS_TEST_PATH=monascaclient/tests
|
|
PYTHONWARNINGS=default::DeprecationWarning
|
|
passenv = *_proxy
|
|
*_PROXY
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
whitelist_externals = bash
|
|
find
|
|
rm
|
|
commands =
|
|
find {toxinidir} -type f -name "*.pyc" -delete
|
|
stestr run {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
PYTHON=coverage run --source monascaclient --parallel-mode
|
|
commands =
|
|
coverage erase
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t {env:OS_TEST_PATH} {posargs}
|
|
|
|
[testenv:pep8]
|
|
skip_install = True
|
|
usedevelop = False
|
|
commands =
|
|
{[testenv:flake8]commands}
|
|
{[testenv:bandit]commands}
|
|
{[testenv:checkniceness]commands}
|
|
|
|
[testenv:flake8]
|
|
skip_install = True
|
|
usedevelop = False
|
|
commands = flake8 monascaclient
|
|
|
|
[testenv:bandit]
|
|
skip_install = True
|
|
usedevelop = False
|
|
commands = bandit -r monascaclient -n5 -x {env:OS_TEST_PATH}
|
|
|
|
[testenv:docs]
|
|
description = Builds full monascaclient documentation
|
|
commands =
|
|
{[testenv:devdocs]commands}
|
|
{[testenv:releasenotes]commands}
|
|
|
|
[testenv:devdocs]
|
|
description = Builds developer documentation
|
|
commands =
|
|
rm -rf {toxinidir}/doc/build {toxinidir}/doc/source/contributor/api
|
|
sphinx-build -a -W -b html doc/source doc/build/html
|
|
|
|
[testenv:releasenotes]
|
|
description = Called from CI script to test and publish the Release Notes
|
|
commands =
|
|
rm -rf releasenotes/build
|
|
sphinx-build -a -W -E -d {toxinidir}/releasenotes/build/doctrees -b html \
|
|
{toxinidir}/releasenotes/source {toxinidir}/releasenotes/build/html
|
|
|
|
[testenv:checkniceness]
|
|
description = Validates (pep-like) documenation
|
|
commands =
|
|
doc8 --file-encoding utf-8 {toxinidir}/doc
|
|
doc8 --file-encoding utf-8 {toxinidir}/releasenotes
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[hacking]
|
|
import_exceptions =
|
|
six.moves
|
|
|
|
[flake8]
|
|
show-source = True
|
|
max-line-length = 100
|
|
builtins = _
|
|
exclude=.venv,.git,.tox,dist,client_api_example.py,*lib/python*,*egg,build
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|