07540b4cf0
- Uses -t admin_only tag for building the admin version of the user guide. - Add files to cli.rst that were not included anywhere. - Add flag -E to sphinx-build to ignore old content which might lead to strange local build bugs. - Add build-admin directory to .gitignore. - Fix scope.py extension to properly remove files from toctree. Co-Authored-By: Andreas Jaeger <aj@suse.de> Change-Id: Ide51cf83c148060d3064ebcb9535b3d3a29c83cf
132 lines
4.7 KiB
INI
132 lines
4.7 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}
|
|
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 RST playground-user-guide
|
|
sphinx-build -E -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/
|
|
# Build RST user-guide-admincontent
|
|
sphinx-build -t admin_only -E -W doc/playground-user-guide/source/ doc/playground-user-guide/build-admin/html
|
|
mkdir -p publish-docs/playground-user-guide-admin/content/
|
|
rsync -a doc/playground-user-guide/build-admin/html/ publish-docs/playground-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 =
|
|
sphinx-build -E -W doc/playground-user-guide/source/ doc/playground-user-guide/build/html
|
|
sphinx-build -t admin_only -E -W doc/playground-user-guide/source/ doc/playground-user-guide/build-admin/html
|
|
sphinx-build -E -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
|
|
# 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 -- playground-user-guide
|
|
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
|