openstack-manuals/tox.ini
Andreas Jaeger acd8a98540 Publish User Guides under /draft/ for now
Publish User Guides as:
docs.openstack.org/draft/user-guide/index.html
docs.openstack.org/draft/user-guide-admin/index.html

This allows us to review that everything works. Once we stop publishing
the "old" guides, we have to adjust the publish location.

Fix also location for the check queue.

Change-Id: I3dd0a5fc3ed9d253af0fbc201a03cd45e5be75fd
2015-04-03 21:51:10 +02:00

140 lines
4.9 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
[testenv:venv]
commands = {posargs}
[testenv:checklinks]
commands = openstack-doc-test --check-links {posargs}
[testenv:checkniceness]
commands =
openstack-doc-test --check-niceness {posargs}
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]
commands =
# Build first the www pages so that openstack-doc-test creates a link to
# www/www-index.html.
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/
# Build both RST User Guides
{toxinidir}/tools/build-user-guides.sh
# Copy RST user-guides
# TODO(ajaeger): We publish to content to allow for reviewing, this needs a
# change of openstack-doc-tools to remove content here
mkdir -p publish-docs/draft/user-guide/content/
rsync -a doc/user-guides/build/html/ publish-docs/draft/user-guide/content/
# Copy RST user-guide-admincontent
mkdir -p publish-docs/draft/user-guide-admin/content/
rsync -a doc/user-guides/build-admin/html/ publish-docs/draft/user-guide-admin/content/
# Build RST networking guide
sphinx-build -E -W doc/networking-guide/source doc/networking-guide/build/html
mkdir -p publish-docs/networking-guide/content/
rsync -a doc/networking-guide/build/html/ publish-docs/networking-guide/content/
# Build DocBook Guides, note we do not build the DocBook XML Networking Guide
openstack-doc-test --check-build --ignore-book networking-guide {posargs}
[testenv:docs]
commands =
{toxinidir}/tools/build-user-guides.sh
sphinx-build -W doc/networking-guide/source doc/networking-guide/build/html
[testenv:network]
commands = sphinx-build -W doc/networking-guide/source 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
# Build both RST User Guides
{toxinidir}/tools/build-user-guides.sh
# Copy RST user-guides - as draft for now
mkdir -p publish-docs/draft/user-guide/
rsync -a doc/user-guides/build/html/ publish-docs/draft/user-guide/
# Copy RST user-guide-admin
mkdir -p publish-docs/draft/user-guide-admin/
rsync -a doc/user-guides/build-admin/html/ publish-docs/draft/user-guide-admin/
# 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
[testenv:generatepot-rst]
# Generate POT files for translation, needs {posargs} like:
# tox -e generatepot-rst -- user-guides
commands = {toxinidir}/tools/generatepot-rst.sh {posargs}
[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