[tox] envlist = docs,doc8,pep8,jsonlint,jsonschema,consistency minversion = 3.18.0 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] deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt commands= sphinx-build doc/source doc/build/html [testenv:pep8] ignore = W504 deps = {[testenv]deps} commands= bash tools/flake8wrap.sh doc8 -e .rst doc/source {[testenv:jsonlint]commands} {[testenv:jsonschema]commands} allowlist_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 guidelines/next.json jsonlint -s guidelines/2015.07.json jsonlint -s guidelines/2016.01.json jsonlint -s guidelines/2016.08.json jsonlint -s guidelines/2017.01.json jsonlint -s guidelines/2017.09.json jsonlint -s guidelines/2018.02.json jsonlint -s guidelines/2018.11.json jsonlint -s guidelines/2019.06.json jsonlint -s guidelines/2019.11.json jsonlint -s guidelines/2020.06.json jsonlint -s guidelines/2020.11.json jsonlint -s current_guideline 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/guidelines/dns.next.json jsonlint -s add-ons/guidelines/dns.2018.02.json jsonlint -s add-ons/guidelines/dns.2019.06.json jsonlint -s add-ons/guidelines/dns.2019.11.json jsonlint -s add-ons/guidelines/dns.2020.06.json jsonlint -s add-ons/guidelines/dns.2020.11.json jsonlint -s add-ons/guidelines/orchestration.next.json jsonlint -s add-ons/guidelines/orchestration.2018.02.json jsonlint -s add-ons/guidelines/orchestration.2019.06.json jsonlint -s add-ons/guidelines/orchestration.2019.11.json jsonlint -s add-ons/guidelines/orchestration.2020.06.json jsonlint -s add-ons/guidelines/orchestration.2020.11.json jsonlint -s add-ons/guidelines/shared_file_system.next.json jsonlint -s add-ons/guidelines/shared_file_system.2020.11.json jsonlint -s add-ons/dns_current_guideline jsonlint -s add-ons/orchestration_current_guideline jsonlint -s add-ons/shared_file_system_current_guideline [testenv:jsonschema] commands= jsonschema doc/source/schema/2.0.json -i guidelines/next.json jsonschema doc/source/schema/1.5.json -i guidelines/2015.07.json jsonschema doc/source/schema/1.5.json -i guidelines/2016.01.json jsonschema doc/source/schema/1.6.json -i guidelines/2016.08.json jsonschema doc/source/schema/1.6.json -i guidelines/2017.01.json jsonschema doc/source/schema/1.6.json -i guidelines/2017.09.json jsonschema doc/source/schema/2.0.json -i guidelines/2018.02.json jsonschema doc/source/schema/2.0.json -i guidelines/2018.11.json jsonschema doc/source/schema/2.0.json -i guidelines/2019.06.json jsonschema doc/source/schema/2.0.json -i guidelines/2019.11.json jsonschema doc/source/schema/2.0.json -i guidelines/2020.06.json jsonschema doc/source/schema/2.0.json -i guidelines/2020.11.json jsonschema doc/source/schema/2.0.json -i current_guideline 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/guidelines/dns.next.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/dns.2018.02.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/dns.2019.06.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/dns.2019.11.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/dns.2020.06.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/dns.2020.11.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/orchestration.next.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/orchestration.2018.02.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/orchestration.2019.06.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/orchestration.2019.11.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/orchestration.2020.06.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/orchestration.2020.11.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/shared_file_system.next.json jsonschema doc/source/schema/2.0.json -i add-ons/guidelines/shared_file_system.2020.11.json jsonschema doc/source/schema/2.0.json -i add-ons/dns_current_guideline jsonschema doc/source/schema/2.0.json -i add-ons/orchestration_current_guideline jsonschema doc/source/schema/2.0.json -i add-ons/shared_file_system_current_guideline [testenv:consistency] commands= bash tools/consistency.sh {posargs} allowlist_externals = sh bash [testenv:next] commands=python3 tools/parse_next_tests.py {posargs}