Reviewed-by: tischrei <tino.schreiber@t-systems.com> Co-authored-by: Gode, Sebastian <sebastian.gode@t-systems.com> Co-committed-by: Gode, Sebastian <sebastian.gode@t-systems.com>
231 lines
7.1 KiB
INI
231 lines
7.1 KiB
INI
[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]
|
|
allowlist_externals =
|
|
doc8
|
|
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/docs-constraints/main/constraints.txt
|
|
allowlist_externals =
|
|
mkdir
|
|
cp
|
|
sh
|
|
rm
|
|
sphinx-build
|
|
commands =
|
|
rm -rf doc/build/html doc/build/html_temp doc/build/doctrees
|
|
sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html_temp
|
|
sphinx-minify --input-directory doc/build/html_temp/ --output-directory doc/build/html
|
|
{[testenv:umn]commands}
|
|
{[testenv:json-umn]commands}
|
|
{[testenv:api-ref]commands}
|
|
{[testenv:json-api-ref]commands}
|
|
{[testenv:best-practice]commands}
|
|
{[testenv:json-best-practice]commands}
|
|
|
|
[testenv:docs-pdf]
|
|
deps =
|
|
{[testenv:docs]deps}
|
|
{[testenv:bindeps]deps}
|
|
allowlist_externals =
|
|
rm
|
|
mkdir
|
|
wget
|
|
make
|
|
bash
|
|
cp
|
|
commands =
|
|
mkdir -p doc/build/pdf
|
|
{[testenv:bindeps]commands}
|
|
mkdir -p {toxinidir}/_templates
|
|
wget -O {toxinidir}/_templates/longtable.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/longtable.tex.jinja
|
|
wget -O {toxinidir}/_templates/tabular.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/tabular.tex.jinja
|
|
wget -O {toxinidir}/_templates/tabulary.tex.jinja https://gitea.eco.tsi-dev.otc-service.com/infra/docs-templates/raw/branch/main/templates/tabulary.tex.jinja
|
|
{[testenv:umn-pdf-docs]commands}
|
|
{[testenv:api-ref-pdf-docs]commands}
|
|
{[testenv:best-practice-pdf-docs]commands}
|
|
|
|
|
|
# HTML version
|
|
[testenv:umn]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
cp
|
|
mkdir
|
|
commands =
|
|
sphinx-build -W --keep-going -b html umn/source doc/build/html_temp/umn
|
|
sphinx-minify --input-directory doc/build/html_temp/umn --output-directory doc/build/html/umn
|
|
mkdir -p umn/build/html
|
|
cp -av doc/build/html/umn umn/build/html
|
|
|
|
# Json version (for search)
|
|
[testenv:json-umn]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
cp
|
|
mkdir
|
|
sh
|
|
commands =
|
|
sphinx-build -W --keep-going -b json umn/source doc/build/json/umn
|
|
# 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"
|
|
mkdir -p umn/build/json
|
|
cp -av doc/build/json/umn umn/build/json
|
|
|
|
# PDF version
|
|
[testenv:umn-pdf-docs]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
rm
|
|
mkdir
|
|
make
|
|
bash
|
|
cp
|
|
commands =
|
|
rm -rf umn/build/pdf
|
|
cp -r {toxinidir}/_templates umn/source/_templates/
|
|
sphinx-build -W --keep-going -b latex umn/source umn/build/pdf/
|
|
bash -c "for f in umn/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true"
|
|
bash -c "for f in umn/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done"
|
|
make -C umn/build/pdf
|
|
mkdir -p doc/build/pdf
|
|
cp umn/build/pdf/asm-umn.pdf doc/build/pdf/
|
|
|
|
|
|
# HTML version
|
|
[testenv:api-ref]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
cp
|
|
mkdir
|
|
commands =
|
|
sphinx-build -W --keep-going -b html api-ref/source doc/build/html_temp/api-ref
|
|
sphinx-minify --input-directory doc/build/html_temp/api-ref --output-directory doc/build/html/api-ref
|
|
mkdir -p api-ref/build/html
|
|
cp -av doc/build/html/api-ref api-ref/build/html
|
|
|
|
# Json version (for search)
|
|
[testenv:json-api-ref]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
cp
|
|
mkdir
|
|
sh
|
|
commands =
|
|
sphinx-build -W --keep-going -b json api-ref/source doc/build/json/api-ref
|
|
# 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"
|
|
mkdir -p api-ref/build/json
|
|
cp -av doc/build/json/api-ref api-ref/build/json
|
|
|
|
# PDF version
|
|
[testenv:api-ref-pdf-docs]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
rm
|
|
mkdir
|
|
make
|
|
bash
|
|
cp
|
|
commands =
|
|
rm -rf api-ref/build/pdf
|
|
cp -r {toxinidir}/_templates api-ref/source/_templates/
|
|
sphinx-build -W --keep-going -b latex api-ref/source api-ref/build/pdf/
|
|
bash -c "for f in api-ref/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true"
|
|
bash -c "for f in api-ref/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done"
|
|
make -C api-ref/build/pdf
|
|
mkdir -p doc/build/pdf
|
|
cp api-ref/build/pdf/asm-api-ref.pdf doc/build/pdf/
|
|
|
|
|
|
# HTML version
|
|
[testenv:best-practice]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
cp
|
|
mkdir
|
|
commands =
|
|
sphinx-build -W --keep-going -b html doc/best-practice/source doc/build/html_temp/best-practice
|
|
sphinx-minify --input-directory doc/build/html_temp/best-practice --output-directory doc/build/html/best-practice
|
|
mkdir -p best-practice/build/html
|
|
cp -av doc/build/html/best-practice best-practice/build/html
|
|
|
|
# Json version (for search)
|
|
[testenv:json-best-practice]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
cp
|
|
mkdir
|
|
sh
|
|
commands =
|
|
sphinx-build -W --keep-going -b json doc/best-practice/source doc/build/json/best-practice
|
|
# 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"
|
|
mkdir -p best-practice/build/json
|
|
cp -av doc/build/json/best-practice best-practice/build/json
|
|
|
|
# PDF version
|
|
[testenv:best-practice-pdf-docs]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
rm
|
|
mkdir
|
|
make
|
|
bash
|
|
cp
|
|
commands =
|
|
rm -rf doc/best-practice/build/pdf
|
|
cp -r {toxinidir}/_templates doc/best-practice/source/_templates/
|
|
sphinx-build -W --keep-going -b latex doc/best-practice/source doc/best-practice/build/pdf/
|
|
bash -c "for f in doc/best-practice/build/pdf/*.gif; do convert $f $\{f/%gif/png\}; done || true"
|
|
bash -c "for f in doc/best-practice/build/pdf/*.tex; do sed -iorig 's/\.gif//g' $f; done"
|
|
make -C doc/best-practice/build/pdf
|
|
mkdir -p doc/build/pdf
|
|
cp doc/best-practice/build/pdf/asm-best-practice.pdf doc/build/pdf/
|
|
|
|
|
|
|
|
[testenv:bindeps]
|
|
deps =
|
|
bindep
|
|
allowlist_externals =
|
|
wget
|
|
rm
|
|
bash
|
|
commands =
|
|
rm -rf {toxinidir}/bindep.txt
|
|
rm -rf {toxinidir}/packages.txt
|
|
wget -O {toxinidir}/bindep.txt https://raw.githubusercontent.com/opentelekomcloud/otcdocstheme/main/bindep.txt
|
|
bash -c "bindep test -b -f {toxinidir}/bindep.txt > {toxinidir}/packages.txt || true"
|
|
bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v apt &>/dev/null; then apt update && xargs apt install --no-install-recommends -y < {toxinidir}/packages.txt; fi; fi'
|
|
bash -c 'if [ -s {toxinidir}/packages.txt ]; then if command -v dnf &>/dev/null; then dnf install -y $(cat {toxinidir}/packages.txt); fi; fi'
|
|
|
|
[doc8]
|
|
ignore = D001
|
|
extensions = .rst, .yaml |