diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4cb4fd0c5edbb3de63c7cc5949b6da9c0af0e55d..c6287f2377973f410e8b9d7b27a8783b62c08e42 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -310,7 +310,7 @@ build-documentation: stage: docs needs: [] script: - - nox --session docs + - nox --session docs -- --fail-on-warnings tags: - docker - cuda11 diff --git a/noxfile.py b/noxfile.py index 18b5335549c0b9c541fb3f8a47389f7387581423..1b882478ac18bfc634e117926c8a0c6b9b94fbc8 100644 --- a/noxfile.py +++ b/noxfile.py @@ -54,7 +54,7 @@ def install_cupy( def check_external_doc_dependencies(session: nox.Session): dot_args = ["dot", "--version"] try: - _ = subprocess.run(dot_args) + _ = subprocess.run(dot_args, capture_output=True) except FileNotFoundError: session.error( "Unable to build documentation: " @@ -119,5 +119,16 @@ def docs(session: nox.Session): check_external_doc_dependencies(session) install_cupy(session, "12.3") editable_install(session, ["doc"]) + + env = {} + + session_args = session.posargs + if "--fail-on-warnings" in session_args: + env["SPHINXOPTS"] = "-W --keep-going" + session.chdir("docs") - session.run("make", "html", external=True, env={"SPHINXOPTS": "-W --keep-going"}) + + if "--clean" in session_args: + session.run("make", "clean", external=True) + + session.run("make", "html", external=True, env=env) diff --git a/pyproject.toml b/pyproject.toml index c540ca1e9abef0d4a6ac9839027042483ea0451b..59e71b8db2d6156c25aebfcdeb88af5652dacc8e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -59,6 +59,7 @@ doc = [ 'sphinx_design', 'myst-nb', 'matplotlib', + 'ipywidgets', 'graphviz', ] testsuite = [