Hasko, Vladimir bc0676ac51 adding constraints reference
Reviewed-by: gtema <artem.goncharov@gmail.com>
Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
2023-08-09 12:05:33 +00:00

127 lines
3.2 KiB
Django/Jinja

[tox]
minversion = 3.1
envlist = py39,pep8
skipsdist = True
ignore_basepython_conflict = True
[testenv]
usedevelop = True
install_command = pip install {opts} {packages}
deps =
-r{toxinidir}/requirements.txt
commands = stestr run {posargs}
stestr slowest
[testenv:pep8]
commands =
doc8 doc/source README.rst
[testenv:venv]
deps =
-r{toxinidir}/requirements.txt
commands = {posargs}
# This env is invoked in the periodic pipeline and is therefore responsible to
# build all relevant docs at once.
[testenv:docs]
deps =
-r{toxinidir}/doc/requirements.txt
-c https://raw.githubusercontent.com/opentelekomcloud-docs-swiss/docs-constraints/main/constraints.txt
allowlist_externals =
mkdir
cp
sh
rm
sphinx-build
commands =
rm -rf doc/build/html doc/build/doctrees
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html
{%- for doc in docs %}
{[testenv:{{ doc.type }}]commands}
{[testenv:json-{{ doc.type }}]commands}
{%- endfor %}
[testenv:docs-pdf]
deps = {[testenv:docs]deps}
allowlist_externals =
rm
mkdir
make
bash
cp
commands =
mkdir -p doc/build/pdf
{%- for doc in docs %}
{%- if doc.pdf_name %}
{[testenv:{{ doc.type }}-pdf-docs]commands}
{%- endif %}
{%- endfor %}
{% for doc in docs -%}
{% set loc = doc.rst_location | replace('/source', '') %}
# HTML version
[testenv:{{ doc.type }}]
deps = {[testenv:docs]deps}
allowlist_externals =
cp
mkdir
commands =
sphinx-build -W --keep-going -b html {{ loc }}/source doc/build/html/{{ doc.type }}
{%- if doc.type == 'api-ref' %}
mkdir -p api-ref/build/html
cp -av doc/build/html/api-ref api-ref/build/html
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/html
cp -av doc/build/html/umn umn/build/html
{%- elif doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/html
cp -av doc/build/html/dev-guide dev_guide/build/html
{%- endif %}
# Json version (for search)
[testenv:json-{{ doc.type }}]
deps = {[testenv:docs]deps}
allowlist_externals =
cp
mkdir
sh
commands =
sphinx-build -W --keep-going -b json {{ loc }}/source doc/build/json/{{ doc.type }}
# Drop data useless for the search - wrap it also with sh/xargs due to bugs
# in tox
sh -c "find doc/build/json -type d -and '(' -name '_images' -or -name '_static' -or -name '_sources' ')' -print0 | xargs -0 rm -rf"
{%- if doc.type == 'api-ref' %}
mkdir -p api-ref/build/json
cp -av doc/build/json/api-ref api-ref/build/json
{%- elif doc.type == 'umn' %}
mkdir -p umn/build/json
cp -av doc/build/json/umn umn/build/json
{%- elif doc.type == 'dev-guide' %}
mkdir -p dev_guide/build/json
cp -av doc/build/json/dev-guide dev_guide/build/json
{%- endif %}
{% if doc.pdf_name -%}
# PDF version
[testenv:{{ doc.type }}-pdf-docs]
deps = {[testenv:docs]deps}
allowlist_externals =
rm
mkdir
make
bash
cp
commands =
rm -rf {{ loc }}/build/pdf
sphinx-build -W --keep-going -b latex {{ loc }}/source {{ loc }}/build/pdf/
bash -c "for f in {{ loc }}/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true"
bash -c "for f in {{ loc }}/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done"
make -C {{ loc }}/build/pdf
mkdir -p doc/build/pdf
cp {{ loc }}/build/pdf/{{ doc.pdf_name }}.pdf doc/build/pdf/
{% endif %}
{% endfor %}
[doc8]
ignore = D001
extensions = .rst, .yaml