openstack-manuals/tox.ini
Andreas Jaeger 752ec2d669 Error out on warnings when building RST
Treat warnings as errors when building RST.

Fix warning about wrong reference in sdk files and about
file not included anywhere.

Change-Id: I3cfd054b6bacc205991e2f57795d183a21275c21
2015-02-24 18:08:13 +01:00

121 lines
4.0 KiB
INI

[tox]
minversion = 1.6
envlist = checkniceness,checksyntax,checkdeletions,checkbuild,checklang,checklinks
skipsdist = True
[testenv]
basepython=python2.7
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 doc
flake8
[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/
sphinx-build -W doc/playground-user-guide/source/ doc/playground-user-guide/build/html
mkdir -p publish-docs/playground-user-guide/content/
rsync -a doc/playground-user-guide/build/html/ publish-docs/playground-user-guide/content/
sphinx-build -W doc/networking-guide/ doc/networking-guide/build/html
mkdir -p publish-docs/networking-guide/content/
rsync -a doc/networking-guide/build/html/ publish-docs/networking-guide/content/
# Do not build DocBook XML Networking Guide
openstack-doc-test --check-build --ignore-book networking-guide {posargs}
[testenv:docs]
commands =
sphinx-build -W doc/playground-user-guide/source/ doc/playground-user-guide/build/html
sphinx-build -W doc/networking-guide/ doc/networking-guide/build/html
[testenv:network]
commands = sphinx-build -W doc/networking-guide/ doc/networking-guide/build/html
[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.
# Do not publish Install Guide and DocBook XML Networking Guide
openstack-doc-test --check-build --ignore-book install-guide --ignore-book networking-guide --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
[doc8]
# Settings for doc8:
# Ignore target directories
ignore-path = doc/*/target,doc/*/build
# File extensions to use
extensions = .rst,.txt
[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