openstack-manuals/tox.ini
Andreas Jaeger 6a01aa42d1 Prepare releasenotes for publishing
Move release notes into releasenotes and add tox target so that
infra scripts will publish them to
docs.openstack.org/releasenotes/openstack-manuals

Infra change: Icbe135e37c78e0a3a1c6d3243f7128c0b881325d

Note that the directory layout here is this way on purpose - we want to
reuse the same jobs other repos use, just the difference is we're not
using reno for this.

Change-Id: I00a53d8b3d9bef28b480be22af2e6647fa26448a
2016-03-18 12:46:15 +01:00

148 lines
4.1 KiB
INI

[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/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/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/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}
[testenv:releasenotes]
commands =
rm -rf releasenotes/build
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[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/glossary.rst,doc/networking-guide/source/adv-config-sriov.rst,doc/install-guide/source/swift-controller-include.txt
# 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,*/source/conf.py