[tox] minversion = 1.6 envlist = checkniceness,checksyntax,checkdeletions,checkbuild,checklang,checklinks skipsdist = True [testenv] setenv = VIRTUAL_ENV={envdir} deps = -r{toxinidir}/test-requirements.txt whitelist_externals = bash cp mkdir rm rsync sed [testenv:venv] commands = {posargs} [testenv:checklinks] commands = openstack-doc-test --check-links {posargs} [testenv:checkniceness] commands = openstack-doc-test --check-niceness {posargs} doc8 -e .rst -e .txt 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] # Build first the www pages so that openstack-doc-test creates a link to # www/www-index.html. commands = mkdir -p publish-docs/www python tools/www-generator.py --source-directory www/ --output-directory publish-docs/www/ cp www/www-index.html publish-docs/ rsync -a www/static/ publish-docs/www/ openstack-doc-test --check-build {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 = # Create directory, it might not be here if openstack-doc-test does # not publish anything. mkdir publish-docs # We only publish changed manuals. openstack-doc-test --check-build --publish # Now publish www as well, we cannot do this from # openstack-doc-test. Use rsync so that .htaccess gets also # copied. python tools/www-generator.py --source-directory www/ --output-directory publish-docs/ rsync -a www/static/ publish-docs/ [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