[tox] minversion = 3.1.1 skipsdist = True envlist = py,pep8,packaging [testenv] usedevelop = True setenv = VIRTUAL_ENV={envdir} deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt commands = stestr run --slowest {posargs} [testenv:venv] commands = {posargs} [testenv:docs] deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt whitelist_externals = rm commands = rm -rf doc/build sphinx-build -W --keep-going -b html doc/source doc/build/html [testenv:pep8] deps = flake8 commands = flake8 [testenv:cover] setenv = PYTHON=coverage run --source tripleo_repos --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml [testenv:packaging] description = Build package, verify metadata, install package and assert basic behavior deps = build twine skip_install = true commands = # build wheel and sdist using PEP-517 {envpython} -c 'import os.path, shutil, sys; \ dist_dir = os.path.join("{toxinidir}", "dist"); \ os.path.isdir(dist_dir) or sys.exit(0); \ print("Removing \{!s\} contents...".format(dist_dir), file=sys.stderr); \ shutil.rmtree(dist_dir)' {envpython} -m build \ --sdist \ --wheel \ --outdir {toxinidir}/dist/ \ {toxinidir} # Validate metadata using twine twine check {toxinidir}/dist/* # Install the wheel sh -c "python3 -m pip install {toxinidir}/dist/*.whl" # Assure that CLIs were installed tripleo-repos --help tripleo-get-hash --help tripleo-yum-config --help whitelist_externals = sh [flake8] ignore = H803 show-source = True exclude = .tox,dist,doc,*.egg,build