我有一个tox配置,允许我对文档运行一些检查。这或多或少来自official documentation on tox。
[tox]
envlist = py36, flake8, docs
[testenv:docs]
basepython=python3.6
changedir=docs # ← causes sphinx-apidoc to misbehave.
deps=-r{toxinidir}/requirements/requirements.txt
commands=
sphinx-apidoc --force --separate --private --module-first -o docs site '*/*test*' '*/*migration*'
pytest --maxfail=1 --tb=line -v --junitxml=junit_{envname}.xml check_sphinx.py
但是,第一个命令(sphinx-apidoc …
)需要在项目的根目录中运行,否则排除模式不起作用。尽管我尝试了许多可能的变化。第二个命令需要在docs
目录中运行。
如何让两个命令在不同的目录中运行?
答案 0 :(得分:2)
将commands
指向shell脚本,例如
#!/bin/bash
set -eux
sphinx-apidoc --force --separate --private --module-first -o docs site '*/*test*' '*/*migration*'
cd docs
pytest --maxfail=1 --tb=line -v --junitxml=junit_{envname}.xml check_sphinx.py