openstack-manuals/tox.ini
Dr. Jens Harbott de83f11f69 Fixes for tox4
- Replace long deprecated whitelist_externals with allowlist_externals.
- Drop basepython option that is no longer needed.
- Invoke bash scripts with explicit bash command instead of allowlisting
  every single script.

Change-Id: I2b70ebb3b1ee94ad75e46295d788312c5e183748
2023-01-04 20:01:46 +01:00

103 lines
2.7 KiB
INI

[tox]
minversion = 2.0
envlist = linters,publishdocs
skipsdist = True
[testenv]
setenv =
VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/test-requirements.txt
passenv = ZUUL_*
allowlist_externals =
bash
cp
mkdir
rm
rsync
[testenv:venv]
commands = {posargs}
[testenv:linkcheck]
commands =
{toxinidir}/tools/build-all-rst.sh --linkcheck
[testenv:linters]
commands =
flake8
doc8 doc
bash {toxinidir}/tools/glossary-sort.sh
[testenv:docs]
commands =
bash {toxinidir}/tools/build-all-rst.sh
[testenv:pdfs]
commands =
bash {toxinidir}/tools/build-all-rst.sh --pdf
[testenv:build]
commands =
bash {toxinidir}/tools/build-rst.sh \
doc/{posargs} \
--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 =
bash {toxinidir}/tools/publishdocs.sh
whereto publish-docs/html/.htaccess publish-docs/html/redirect-tests.txt
rm publish-docs/html/redirect-tests.txt
[testenv:buildlang]
# Run as "tox -e buildlang -- $LANG"
allowlist_externals = doc-tools-check-languages
commands =
doc-tools-check-languages doc-tools-check-languages.conf test {posargs}
[testenv:publishlang]
allowlist_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-guide
commands = bash {toxinidir}/tools/generatepot-rst.sh openstack-manuals 1 {posargs}
[testenv:releasenotes]
commands =
sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files, and develop mode disabled
# explicitly to avoid unnecessarily installing the checked-out repo too (this
# further relies on "tox.skipsdist = True" above).
deps = bindep
commands = bindep test
usedevelop = False
[doc8]
# Settings for doc8:
# Ignore target directories and autogenerated files
ignore-path = doc/*/target,doc/*/build*
# 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
builtins = _
exclude=.venv,.git,.tox,dist,*lib/python*,*egg,build,*/source/conf.py