training-guides/tox.ini
Frank Kloeker 3c26d2c63c Move pot file generation to venv
periodic job failed since some weeks due the usage of Sphinx 2.0
in Python 2.7, called by the shell script outside venv

see:
http://logs.openstack.org/periodic/opendev.org/openstack/training-guides/master/propose-translation-update/a09c131/

Maybe get job working again after some weeks.
Requires still a general patch for propose-translation-update to run
on Bionic with Sphinx 2 and Python 3.

Change-Id: I40a271bdc171ee7dc433178633c190c7bd1e8e5f
2019-06-14 21:03:32 +00:00

91 lines
3.3 KiB
INI

[tox]
minversion = 3.1.1
envlist = checkbuild
skipsdist = True
ignore_basepython_conflict = True
[testenv]
basepython = python3
setenv = VIRTUAL_ENV={envdir}
install_command = pip install -U {opts} {packages}
deps = -r{toxinidir}/test-requirements.txt
whitelist_externals =
echo
mkdir
rm
rsync
msgcat
awk
bash
[testenv:venv]
commands = {posargs}
[doc8]
# Settings for doc8:
# File extensions to use
extension = .rst,.txt
ignore-path = doc/upstream-training/build/*,doc/training-guides/build/*
[testenv:checkbuild]
commands =
{[testenv:upstream-slides]commands}
{[testenv:training-slides]commands}
# Publish for check site
mkdir -p publish-docs/upstream-training
mkdir -p publish-docs/training-guides
rsync -av doc/upstream-training/build/slides/ publish-docs/upstream-training/
rsync -av doc/training-guides/build/slides/ publish-docs/training-guides/
[testenv:generatepot-training]
# Generate POT files for translation
commands =
rm -f doc/upstream-training/source/locale/upstream-training.pot
sphinx-build -b gettext doc/upstream-training/source/slides \
doc/upstream-training/source/locale/
sphinx-build -b gettext doc/upstream-training/source/website \
doc/upstream-training/source/locale/
bash -c "msgcat --use-first --sort-by-file doc/upstream-training/source/locale/*.pot | \
awk '$0 !~ /^\# [a-z0-9]+$/' > doc/upstream-training/source/upstream-training.pot && \
rm doc/upstream-training/source/locale/*.pot && \
rm -rf doc/upstream-training/source/locale/.doctrees/ && \
mv doc/upstream-training/source/upstream-training.pot doc/upstream-training/source/locale/upstream-training.pot"
[testenv:publishdocs]
passenv = ZUUL*
commands =
{[testenv:upstream-slides]commands}
# Note(AJaeger):
# We do not publish draft documents anymore, disable this for now
# Once this document gets updated, we can discuss publishing to a
# new location
# {[testenv:training-slides]commands}
# Publish as draft
# mkdir -p publish-docs/draft/training-guides
# rsync -av doc/training-guides/build/slides/ publish-docs/draft/training-guides/
# {toxinidir}/tools/add-marker.sh publish-docs/draft/training-guides/
# Publish
mkdir -p publish-docs/upstream-training
rsync -av doc/upstream-training/build/slides/ publish-docs/upstream-training/
{toxinidir}/tools/add-marker.sh publish-docs/upstream-training
# Publish translated guides
{toxinidir}/tools/buildlang.sh
[testenv:upstream-slides]
commands =
# Niceness test
doc8 doc/upstream-training
# Build upstream-training slides
sphinx-build -W -b slides -d doc/upstream-training/build/slides.doctrees doc/upstream-training/source/slides doc/upstream-training/build/slides
# Build upstream landing page index.html
sphinx-build -W -b html -d doc/upstream-training/build/slides.doctrees doc/upstream-training/source/website doc/upstream-training/build/slides
[testenv:training-slides]
commands =
# Niceness test
doc8 doc/training-guides
# Build training-guides slides
sphinx-build -W -b slides -d doc/training-guides/build/slides.doctrees/associate-guide doc/training-guides/source/slides doc/training-guides/build/slides/associate-guide
# Build training-guides landing page index.html
sphinx-build -b html -d doc/training-guides/build/slides.doctrees doc/training-guides/source/website doc/training-guides/build/slides