python-3.x - 在 readthedocs.org 上构建 Sphinx 文档时将所有警告视为错误
问题描述
我们的开源 Python 项目 ( PyAbel ) 使用 readthedocs.org 使用 Sphinx 为每个拉取请求自动构建文档。如果 Sphinx 有任何警告,我们希望文档构建失败,因为这些通常表明文档的某些部分没有正确构建。
目前,我们包含sphinx: fail_on_warning: true
在我们的 .readthedocs.yml 文件中。这会导致 Sphinx 构建在第一次警告时失败。到目前为止,一切都很好!
但是,在我的本地计算机上,我可以使用
make html SPHINXOPTS="-W --keep-going"
允许构建运行完成(从而显示所有警告)然后失败,如此处所述。(或者,我可以包含SPHINXOPTS="-W --keep-going"
在 doc/Makefile 中以实现相同的结果。)
这种行为似乎是更好的选择,因为我们可以看到所有需要修复的警告,但构建仍然失败,所以我们知道需要修复它们。但是,当文档建立在 readthedocs.org 上时,我无法弄清楚如何实现这一点。在 readthedocs.org 上构建 Sphinx 文档时,有没有一种方法可以让我们看到来自 Sphinx 构建的所有警告,然后仍然引发错误?
一些相关的讨论是here。
解决方案
根据readthedocs 文档,设置fail_on_warning: true
当前等同于同时启用-W
和--keep-going
标志:
sphinx.fail_on_warning
将警告变成错误(
-W
和--keep-going
选项)。这意味着如果出现警告并以退出状态 1 退出,则构建将失败。
推荐阅读
- python - 单击 pyqt5 中的弹出项时,QCompleter 在第二个对话框中的 QLineEdit 中冻结
- webpack - 你如何 webpack 将资产捆绑到 html 文件内联/嵌入中?
- php - html表格右对齐在屏幕左侧有不可见部分
- django - Django 错误 - __str__ 返回非字符串(用户类型)
- python-3.x - django.db.utils.OperationalError:没有这样的列:ticket_ticket_notes.ticket_id
- python - Pandas Dataframe.plot,如何更改 x 轴标签
- java - 导出为 JAR 时不会加载资源
- python-3.x - Python3 beautifulsoup4 多个url请求并保存数据
- android - 如何约束需要 wrap_content 但内容可能大于显示的 Android 视图?
- python - 如何在 pythonanywhere 上使用 python 和烧瓶创建 Web 表单