[tox] minversion = 2.0 envlist = linters,publishdocs skipsdist = True [testenv] basepython=python3 setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/test-requirements.txt passenv = ZUUL_* whitelist_externals = bash cp mkdir rm rsync [testenv:venv] commands = {posargs} [testenv:linkcheck] commands = {toxinidir}/tools/build-all-rst.sh --linkcheck [testenv:linters] commands = flake8 doc8 doc {toxinidir}/tools/glossary-sort.sh [testenv:docs] commands = {toxinidir}/tools/build-all-rst.sh [testenv:pdfs] commands = {toxinidir}/tools/build-all-rst.sh --pdf [testenv:build] commands = {toxinidir}/tools/build-rst.sh \ doc/{posargs} \ --build build \ --target {posargs} [testenv:publishdocs] # Prepare all documents (except www subdir) so that they can get # published on docs.openstack.org with just copying publish-docs/* # over. commands = {toxinidir}/tools/publishdocs.sh whereto publish-docs/html/.htaccess publish-docs/html/redirect-tests.txt rm publish-docs/html/redirect-tests.txt [testenv:buildlang] # Run as "tox -e buildlang -- $LANG" whitelist_externals = doc-tools-check-languages commands = doc-tools-check-languages doc-tools-check-languages.conf test {posargs} [testenv:publishlang] whitelist_externals = doc-tools-check-languages commands = doc-tools-check-languages doc-tools-check-languages.conf publish all [testenv:generatepot-rst] # Generate POT files for translation, needs {posargs} like: # tox -e generatepot-rst -- user-guide commands = {toxinidir}/tools/generatepot-rst.sh openstack-manuals 1 {posargs} [testenv:releasenotes] commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:bindep] # Do not install any requirements. We want this to be fast and work even if # system dependencies are missing, since it's used to tell you what system # dependencies are missing! This also means that bindep must be installed # separately, outside of the requirements files, and develop mode disabled # explicitly to avoid unnecessarily installing the checked-out repo too (this # further relies on "tox.skipsdist = True" above). deps = bindep commands = bindep test usedevelop = False [doc8] # Settings for doc8: # Ignore target directories and autogenerated files ignore-path = doc/*/target,doc/*/build* # File extensions to use extensions = .rst,.txt # Maximal line length should be 79 but we have some overlong lines. # Let's not get far more in. max-line-length = 79 # Disable some doc8 checks: # D000: Check RST validity (cannot handle the "linenos" directive) ignore = D000 [flake8] show-source = True builtins = _ exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build,*/source/conf.py