From 761f7fe9a3827daec8fe55a46e07cb9c943d7836 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Wed, 14 Jun 2023 15:15:02 +0100 Subject: [PATCH 1/3] Fix readthedocs build --- .github/workflows/docs.yml | 1 + docs/source/html_builder.py | 12 ++++++++---- tox.ini | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8851f7fbb0f3..3e06b5e909f1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,6 +20,7 @@ jobs: env: TOXENV: docs TOX_SKIP_MISSING_INTERPRETERS: False + VERIFY_MYPY_ERROR_CODES: 1 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 diff --git a/docs/source/html_builder.py b/docs/source/html_builder.py index efe1fcaa48fa..ca5ebc0e0dae 100644 --- a/docs/source/html_builder.py +++ b/docs/source/html_builder.py @@ -2,6 +2,7 @@ import json import textwrap +import os from pathlib import Path from typing import Any @@ -9,8 +10,6 @@ from sphinx.application import Sphinx from sphinx.builders.html import StandaloneHTMLBuilder -from mypy.errorcodes import error_codes - class MypyHTMLBuilder(StandaloneHTMLBuilder): def __init__(self, app: Sphinx) -> None: @@ -21,13 +20,14 @@ def write_doc(self, docname: str, doctree: document) -> None: super().write_doc(docname, doctree) self._ref_to_doc.update({_id: docname for _id in doctree.ids}) - def _write_ref_redirector(self) -> None: + def _verify_error_codes(self) -> None: + from mypy.errorcodes import error_codes + known_missing = { # TODO: fix these before next release "annotation-unchecked", "empty-body", "possibly-undefined", - "str-format", "top-level-await", } missing_error_codes = { @@ -39,6 +39,10 @@ def _write_ref_redirector(self) -> None: raise ValueError( f"Some error codes are not documented: {', '.join(sorted(missing_error_codes))}" ) + + def _write_ref_redirector(self) -> None: + if os.getenv("VERIFY_MYPY_ERROR_CODES"): + self._verify_error_codes() p = Path(self.outdir) / "_refs.html" data = f""" diff --git a/tox.ini b/tox.ini index 6d64cebaec6d..2ddda8281beb 100644 --- a/tox.ini +++ b/tox.ini @@ -33,6 +33,8 @@ commands = [testenv:docs] description = invoke sphinx-build to build the HTML docs +passenv = + VERIFY_MYPY_ERROR_CODES deps = -rdocs/requirements-docs.txt commands = sphinx-build -d "{toxworkdir}/docs_doctree" docs/source "{toxworkdir}/docs_out" --color -W -bhtml {posargs} From 681ad0c87e5c833bdc5c8f0e615c540bb553bd39 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 14 Jun 2023 14:17:21 +0000 Subject: [PATCH 2/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- docs/source/html_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/html_builder.py b/docs/source/html_builder.py index ca5ebc0e0dae..dad0fccb4dc7 100644 --- a/docs/source/html_builder.py +++ b/docs/source/html_builder.py @@ -1,8 +1,8 @@ from __future__ import annotations import json -import textwrap import os +import textwrap from pathlib import Path from typing import Any From 37bbc39d2e247df00204dd1df61886c73b013373 Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Wed, 14 Jun 2023 15:26:43 +0100 Subject: [PATCH 3/3] Fix error --- docs/source/html_builder.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/html_builder.py b/docs/source/html_builder.py index dad0fccb4dc7..405b80ac53d2 100644 --- a/docs/source/html_builder.py +++ b/docs/source/html_builder.py @@ -28,6 +28,7 @@ def _verify_error_codes(self) -> None: "annotation-unchecked", "empty-body", "possibly-undefined", + "str-format", "top-level-await", } missing_error_codes = {