[tox] envlist = docs,doc8,pep8,jsonlint,jsonschema,consistency minversion = 3.1 skipsdist = True ignore_basepython_conflict = True [testenv] basepython=python3 setenv = VIRTUAL_ENV={envdir} deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/test-requirements.txt [testenv:venv] commands = {posargs} [testenv:doc8] commands = doc8 -e .rst doc/source [testenv:docs] commands= sphinx-build doc/source doc/build/html [testenv:pep8] ignore = W504 deps = flake8 {[testenv]deps} commands= bash tools/flake8wrap.sh doc8 -e .rst doc/source {[testenv:jsonlint]commands} {[testenv:jsonschema]commands} whitelist_externals = sh bash [flake8] # E125 is deliberately excluded. # See https://github.com/jcrocholl/pep8/issues/126 ignore = E125,W504 exclude = .venv,.git,.tox,doc,conf.py [testenv:jsonlint] commands= jsonlint -s next.json jsonlint -s 2015.07.json jsonlint -s 2016.01.json jsonlint -s 2016.08.json jsonlint -s 2017.01.json jsonlint -s 2017.09.json jsonlint -s 2018.02.json jsonlint -s 2018.11.json jsonlint -s 2019.06.json jsonlint -s 2019.11.json jsonlint -s 2020.06.json jsonlint -s 2020.11.json jsonlint -s doc/source/schema/1.5.json jsonlint -s doc/source/schema/1.6.json jsonlint -s doc/source/schema/2.0.json jsonlint -s doc/source/schema/next.2.0.json jsonlint -s add-ons/dns.next.json jsonlint -s add-ons/orchestration.next.json jsonlint -s add-ons/dns.2018.02.json jsonlint -s add-ons/dns.2019.06.json jsonlint -s add-ons/dns.2019.11.json jsonlint -s add-ons/dns.2020.06.json jsonlint -s add-ons/dns.2020.11.json jsonlint -s add-ons/orchestration.2018.02.json jsonlint -s add-ons/orchestration.2019.06.json jsonlint -s add-ons/orchestration.2019.11.json jsonlint -s add-ons/orchestration.2020.06.json jsonlint -s add-ons/orchestration.2020.11.json jsonlint -s add-ons/shared_file_system.next.json [testenv:jsonschema] commands= jsonschema doc/source/schema/2.0.json -i next.json jsonschema doc/source/schema/1.5.json -i 2015.07.json jsonschema doc/source/schema/1.5.json -i 2016.01.json jsonschema doc/source/schema/1.6.json -i 2016.08.json jsonschema doc/source/schema/1.6.json -i 2017.01.json jsonschema doc/source/schema/1.6.json -i 2017.09.json jsonschema doc/source/schema/2.0.json -i 2018.02.json jsonschema doc/source/schema/2.0.json -i 2018.11.json jsonschema doc/source/schema/2.0.json -i 2019.06.json jsonschema doc/source/schema/2.0.json -i 2019.11.json jsonschema doc/source/schema/2.0.json -i 2020.06.json jsonschema doc/source/schema/2.0.json -i 2020.11.json jsonschema doc/source/schema/2.0.json -i doc/source/schema/next.2.0.json jsonschema doc/source/schema/2.0.json -i add-ons/dns.next.json jsonschema doc/source/schema/2.0.json -i add-ons/orchestration.next.json jsonschema doc/source/schema/2.0.json -i add-ons/dns.2018.02.json jsonschema doc/source/schema/2.0.json -i add-ons/dns.2019.06.json jsonschema doc/source/schema/2.0.json -i add-ons/dns.2019.11.json jsonschema doc/source/schema/2.0.json -i add-ons/dns.2020.06.json jsonschema doc/source/schema/2.0.json -i add-ons/dns.2020.11.json jsonschema doc/source/schema/2.0.json -i add-ons/orchestration.2018.02.json jsonschema doc/source/schema/2.0.json -i add-ons/orchestration.2019.06.json jsonschema doc/source/schema/2.0.json -i add-ons/orchestration.2019.11.json jsonschema doc/source/schema/2.0.json -i add-ons/orchestration.2020.06.json jsonschema doc/source/schema/2.0.json -i add-ons/orchestration.2020.11.json jsonschema doc/source/schema/2.0.json -i add-ons/shared_file_system.next.json [testenv:consistency] commands= bash tools/consistency.sh {posargs} whitelist_externals = sh bash [testenv:next] commands=python3 tools/parse_next_tests.py {posargs}