[tox] minversion = 1.6 envlist = checkniceness,checksyntax,checkdeletions,checkbuild,checklinks 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:checklinks] commands = openstack-doc-test --check-links {posargs} [testenv:linkcheck] commands = {toxinidir}/tools/build-all-rst.sh --linkcheck [testenv:checkniceness] commands = openstack-doc-test --check-niceness {posargs} flake8 doc8 doc [testenv:checksyntax] commands = openstack-doc-test --check-syntax {posargs} # Check that .po and .pot files are valid: bash -c "find doc -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null" [testenv:checkdeletions] commands = openstack-doc-test --check-deletions {posargs} [testenv:checkbuild] commands = {toxinidir}/tools/publishdocs.sh build [testenv:docs] commands = {toxinidir}/tools/build-all-rst.sh [testenv:install-guides] commands = {toxinidir}/tools/build-install-guides-rst.sh [testenv:install-guide-debian] commands = {toxinidir}/tools/build-install-guides-rst.sh debian [testenv:install-guide-obs] commands = {toxinidir}/tools/build-install-guides-rst.sh obs [testenv:install-guide-rdo] commands = {toxinidir}/tools/build-install-guides-rst.sh rdo [testenv:install-guide-ubuntu] commands = {toxinidir}/tools/build-install-guides-rst.sh ubuntu [testenv:build] commands = {toxinidir}/tools/build-rst.sh \ doc/{posargs} \ --glossary \ --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 = {toxinidir}/tools/glossary2rst.py doc/common-rst/glossary.rst 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 = {toxinidir}/tools/glossary2rst.py doc/common-rst/glossary.rst 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 = {toxinidir}/tools/glossary2rst.py doc/common-rst/glossary.rst 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} [doc8] # Settings for doc8: # Ignore target directories # TODO(samos123): remove sriov from ignore when fix for #1487302 is in doc8 ignore-path = doc/*/target,doc/*/build*,doc/common-rst/glossary.rst,doc/networking-guide/source/adv_config_sriov.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 # H803 skipped on purpose per list discussion. # E123, E125 skipped as they are invalid PEP-8. ignore = E123,E125,H803 builtins = _ exclude=.venv,.git,.tox,dist,*openstack/common*,*lib/python*,*egg,build,doc/common/samples,doc/*/source/conf.py