[tox] minversion = 1.6 envlist = checkniceness,checkbuild skipsdist = True [testenv] basepython=python2.7 setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/test-requirements.txt whitelist_externals = bash cp mkdir rm rsync [testenv:venv] commands = {posargs} [testenv:linkcheck] commands = {toxinidir}/tools/build-all-rst.sh --linkcheck [testenv:checkniceness] commands = flake8 doc8 doc bash -c "find doc -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null" {toxinidir}/tools/glossary-sort.sh [testenv:checkbuild] commands = {toxinidir}/tools/publishdocs.sh build [testenv:docs] commands = {toxinidir}/tools/build-all-rst.sh [testenv:pdfs] commands = {toxinidir}/tools/build-all-rst.sh --pdf [testenv:install-guides] commands = {toxinidir}/tools/build-install-guides-rst.sh {posargs} [testenv:install-guide-debconf] commands = {toxinidir}/tools/build-install-guides-rst.sh debconf {posargs} [testenv:install-guide-debian] commands = {toxinidir}/tools/build-install-guides-rst.sh debian {posargs} [testenv:install-guide-obs] commands = {toxinidir}/tools/build-install-guides-rst.sh obs {posargs} [testenv:install-guide-rdo] commands = {toxinidir}/tools/build-install-guides-rst.sh rdo {posargs} [testenv:install-guide-ubuntu] commands = {toxinidir}/tools/build-install-guides-rst.sh ubuntu {posargs} [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 publish [testenv:checklang] # Generatedocbook needs xml2po which cannot be installed # in the venv. Since it's installed in the system, let's # use sitepackages. sitepackages=True whitelist_externals = doc-tools-check-languages commands = doc-tools-check-languages doc-tools-check-languages.conf test all [testenv:buildlang] # Run as "tox -e buildlang -- $LANG" # Generatedocbook needs xml2po which cannot be installed # in the venv. Since it's installed in the system, let's # use sitepackages. sitepackages=True whitelist_externals = doc-tools-check-languages commands = doc-tools-check-languages doc-tools-check-languages.conf test {posargs} [testenv:publishlang] # Generatedocbook needs xml2po which cannot be installed # in the venv. Since it's installed in the system, let's # use sitepackages. sitepackages=True 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*,doc/install-guide/source/swift-controller-include.txt,doc/install-guide-debconf/source/swift-controller-include.txt,doc/networking-guide/source/shared/*.txt,doc/config-reference/source/tables/*.rst # 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