Reviewed-by: Gode, Sebastian <sebastian.gode@t-systems.com> Co-authored-by: tischrei <tino.schreiber@t-systems.com> Co-committed-by: tischrei <tino.schreiber@t-systems.com>
		
			
				
	
	
		
			149 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			4.6 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]
 | |
| 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 
 | |
| {%- for doc in docs %}
 | |
|   {[testenv:{{ doc.type }}]commands}
 | |
|   {[testenv:json-{{ doc.type }}]commands}
 | |
| {%- endfor %}
 | |
| 
 | |
| [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
 | |
| {%- 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_temp/{{ doc.type }}
 | |
|   sphinx-minify --input-directory doc/build/html_temp/{{ doc.type }} --output-directory doc/build/html/{{ doc.type }}
 | |
| {%- if doc.type == 'dev-guide' %}
 | |
|   mkdir -p dev_guide/build/html
 | |
|   cp -av doc/build/html/dev-guide dev_guide/build/html
 | |
| {%- else %}
 | |
|   mkdir -p {{ doc.type }}/build/html
 | |
|   cp -av doc/build/html/{{ doc.type }} {{ doc.type }}/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 == 'dev-guide' %}
 | |
|   mkdir -p dev_guide/build/json
 | |
|   cp -av doc/build/json/dev-guide dev_guide/build/json
 | |
| {%- else %}
 | |
|   mkdir -p {{ doc.type }}/build/json
 | |
|   cp -av doc/build/json/{{ doc.type }} {{ doc.type }}/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
 | |
|   cp -r {toxinidir}/_templates {{ loc }}/source/_templates/
 | |
|   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 %}
 | |
| 
 | |
| [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 |