diff --git a/docs/docsite/rst/community/documentation_contributions.rst b/docs/docsite/rst/community/documentation_contributions.rst index 0b9df80390..f37011dbb5 100644 --- a/docs/docsite/rst/community/documentation_contributions.rst +++ b/docs/docsite/rst/community/documentation_contributions.rst @@ -111,7 +111,6 @@ Drop the ``--user`` option in the following commands if you use a virtual enviro pip install --user -r tests/requirements.in -c tests/requirements.txt # Installs tested dependency versions. pip install --user -r tests/requirements.in # Installs the unpinned dependency versions. - pip install --user -r tests/requirements-relaxed.in # Installs the unpinned dependency versions including untested antsibull-docs. .. note:: diff --git a/noxfile.py b/noxfile.py index ee59cff99a..beaad1e9f1 100644 --- a/noxfile.py +++ b/noxfile.py @@ -2,7 +2,6 @@ from __future__ import annotations import os import shlex -from argparse import ArgumentParser, BooleanOptionalAction from glob import iglob from pathlib import Path from typing import cast @@ -152,20 +151,6 @@ def _clone_core_check(session: nox.Session) -> None: session.run("python", "docs/bin/clone-core.py", "--check") -def _relaxed_parser(session: nox.Session) -> ArgumentParser: - """ - Generate an argument parser with a --relaxed option. - """ - parser = ArgumentParser(prog=f"nox -e {session.name} --") - parser.add_argument( - "--relaxed", - default=False, - action=BooleanOptionalAction, - help="Whether to use requirements-relaxed file. (Default: %(default)s)", - ) - return parser - - def _env_python(session: nox.Session) -> str: """ Get the full path to an environment's python executable @@ -183,9 +168,8 @@ def checkers(session: nox.Session, test: str): """ Run docs build checkers """ - args = _relaxed_parser(session).parse_args(session.posargs) - install(session, req="requirements-relaxed" if args.relaxed else "requirements") + install(session, req="requirements") _clone_core_check(session) session.run("make", "-C", "docs/docsite", "clean", external=True) session.run("python", "tests/checkers.py", test) @@ -196,16 +180,15 @@ def make(session: nox.Session): """ Generate HTML from documentation source using the Makefile """ - parser = _relaxed_parser(session) - parser.add_argument( - "make_args", nargs="*", help="Specify make targets as arguments" - ) - args = parser.parse_args(session.posargs) + make_args = session.posargs or ["clean", "coredocs"] - install(session, req="requirements-relaxed" if args.relaxed else "requirements") + install(session, req="requirements") _clone_core_check(session) - make_args: list[str] = [ + session.run( + "make", + "-C", + "docs/docsite", f"PYTHON={_env_python(session)}", - *(args.make_args or ("clean", "coredocs")), - ] - session.run("make", "-C", "docs/docsite", *make_args, external=True) + *make_args, + external=True, + ) diff --git a/tests/constraints-base.in b/tests/constraints-base.in deleted file mode 100644 index 77cb17091f..0000000000 --- a/tests/constraints-base.in +++ /dev/null @@ -1,3 +0,0 @@ -# Known limitations for indirect/transitive dependencies. - -rstcheck < 6 # rstcheck 6.x has problem with rstcheck.core triggered by include files w/ sphinx directives https://github.com/rstcheck/rstcheck-core/issues/3 diff --git a/tests/constraints.in b/tests/constraints.in index b739647e4c..0f0500b85a 100644 --- a/tests/constraints.in +++ b/tests/constraints.in @@ -3,3 +3,8 @@ sphinx == 4.2.0 antsibull-docs == 2.7.0 # currently approved version + +rstcheck < 6 # rstcheck 6.x has problem with rstcheck.core triggered by include files w/ sphinx directives https://github.com/rstcheck/rstcheck-core/issues/3 +jinja2 >= 3.0.0 # https://github.com/ansible/ansible/blob/stable-2.14/requirements.txt +pyyaml >= 5.1 # https://github.com/ansible/ansible/blob/stable-2.14/requirements.txt +resolvelib >= 0.5.3, < 0.9.0 # https://github.com/ansible/ansible/blob/stable-2.14/requirements.txt diff --git a/tests/requirements-relaxed.in b/tests/requirements-relaxed.in deleted file mode 100644 index d605979c99..0000000000 --- a/tests/requirements-relaxed.in +++ /dev/null @@ -1,14 +0,0 @@ -# This requirements file contains no pins on antsibull-docs and other -# essential tools -# It's used for testing purposes and devel branch builds on docs.ansible.com. - --c constraints-base.in - -jinja2 >= 3.0.0 # used by hacking/build_library/build_ansible/command_plugins/generate_man.py and dump_keywords.py -pyyaml >= 5.1 # used by ansible-core -resolvelib >= 0.5.3, < 0.9.0 # used by ansible-core -sphinx -sphinx-notfound-page -sphinx-ansible-theme -rstcheck -antsibull-docs ~= 2.0 diff --git a/tests/requirements-relaxed.txt b/tests/requirements-relaxed.txt deleted file mode 100644 index 3d97066bf6..0000000000 --- a/tests/requirements-relaxed.txt +++ /dev/null @@ -1,162 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# pip-compile --allow-unsafe --output-file=tests/requirements-relaxed.txt --strip-extras tests/requirements-relaxed.in -# -aiofiles==23.2.1 - # via antsibull-core -aiohappyeyeballs==2.4.0 - # via aiohttp -aiohttp==3.10.5 - # via - # antsibull-core - # antsibull-docs -aiosignal==1.3.1 - # via aiohttp -alabaster==0.7.13 - # via sphinx -ansible-pygments==0.1.1 - # via - # antsibull-docs - # sphinx-ansible-theme -antsibull-core==2.1.0 - # via antsibull-docs -antsibull-docs==2.7.0 - # via -r tests/requirements-relaxed.in -antsibull-docs-parser==1.0.0 - # via antsibull-docs -async-timeout==4.0.3 - # via aiohttp -asyncio-pool==0.6.0 - # via antsibull-docs -attrs==23.1.0 - # via aiohttp -babel==2.13.0 - # via sphinx -build==1.0.3 - # via antsibull-core -certifi==2023.7.22 - # via requests -charset-normalizer==3.3.0 - # via requests -docutils==0.18.1 - # via - # antsibull-docs - # rstcheck - # sphinx - # sphinx-rtd-theme -frozenlist==1.4.0 - # via - # aiohttp - # aiosignal -idna==3.4 - # via - # requests - # yarl -imagesize==1.4.1 - # via sphinx -jinja2==3.1.2 - # via - # -r tests/requirements-relaxed.in - # antsibull-docs - # sphinx -markupsafe==2.1.3 - # via jinja2 -multidict==6.0.5 - # via - # aiohttp - # yarl -packaging==23.2 - # via - # antsibull-core - # antsibull-docs - # build - # sphinx -perky==0.9.2 - # via antsibull-core -pydantic==1.10.17 - # via - # antsibull-core - # antsibull-docs -pygments==2.16.1 - # via - # ansible-pygments - # sphinx -pyproject-hooks==1.0.0 - # via build -pyyaml==6.0.1 - # via - # -r tests/requirements-relaxed.in - # antsibull-core - # antsibull-docs -requests==2.31.0 - # via sphinx -resolvelib==0.8.1 - # via -r tests/requirements-relaxed.in -rstcheck==5.0.0 - # via - # -c tests/constraints-base.in - # -r tests/requirements-relaxed.in - # antsibull-docs -semantic-version==2.10.0 - # via - # antsibull-core - # antsibull-docs -sh==1.14.3 - # via antsibull-core -six==1.16.0 - # via twiggy -snowballstemmer==2.2.0 - # via sphinx -sphinx==7.2.6 - # via - # -r tests/requirements-relaxed.in - # antsibull-docs - # sphinx-ansible-theme - # sphinx-notfound-page - # sphinx-rtd-theme - # sphinxcontrib-applehelp - # sphinxcontrib-devhelp - # sphinxcontrib-htmlhelp - # sphinxcontrib-jquery - # sphinxcontrib-qthelp - # sphinxcontrib-serializinghtml -sphinx-ansible-theme==0.10.2 - # via -r tests/requirements-relaxed.in -sphinx-notfound-page==1.0.0 - # via -r tests/requirements-relaxed.in -sphinx-rtd-theme==1.3.0 - # via sphinx-ansible-theme -sphinxcontrib-applehelp==1.0.7 - # via sphinx -sphinxcontrib-devhelp==1.0.5 - # via sphinx -sphinxcontrib-htmlhelp==2.0.4 - # via sphinx -sphinxcontrib-jquery==4.1 - # via sphinx-rtd-theme -sphinxcontrib-jsmath==1.0.1 - # via sphinx -sphinxcontrib-qthelp==1.0.6 - # via sphinx -sphinxcontrib-serializinghtml==1.1.9 - # via sphinx -tomli==2.0.1 - # via - # build - # pyproject-hooks -twiggy==0.5.1 - # via - # antsibull-core - # antsibull-docs -types-docutils==0.18.3 - # via rstcheck -typing-extensions==4.8.0 - # via - # pydantic - # rstcheck -urllib3==2.0.7 - # via requests -yarl==1.9.2 - # via aiohttp diff --git a/tests/requirements.in b/tests/requirements.in index 6ff0f42f86..a29b9b955c 100644 --- a/tests/requirements.in +++ b/tests/requirements.in @@ -1,5 +1,14 @@ -# This requirements file is used for stable ansible docs builds -# It depends on specific, tested antsibull-docs and sphinx versions +# This requirements file is used for doc builds -c constraints.in # <-- contains known limitations --r requirements-relaxed.in # <-- contains base set of dependencies + +# Base set of dependencies. + +antsibull-docs +sphinx +sphinx-notfound-page # extension used for the custom 404 page (cowsay) +sphinx-ansible-theme # extension used for the custom docs theme +rstcheck +jinja2 # used by hacking/build_library/build_ansible/command_plugins/generate_man.py and dump_keywords.py +pyyaml # used by ansible-core +resolvelib # used by ansible-core diff --git a/tests/requirements.txt b/tests/requirements.txt index 8964b5a3e5..6e8503e0d3 100644 --- a/tests/requirements.txt +++ b/tests/requirements.txt @@ -25,7 +25,7 @@ antsibull-core==2.1.0 antsibull-docs==2.7.0 # via # -c tests/constraints.in - # -r tests/requirements-relaxed.in + # -r tests/requirements.in antsibull-docs-parser==1.0.0 # via antsibull-docs async-timeout==4.0.3 @@ -60,7 +60,8 @@ imagesize==1.4.1 # via sphinx jinja2==3.1.2 # via - # -r tests/requirements-relaxed.in + # -c tests/constraints.in + # -r tests/requirements.in # antsibull-docs # sphinx markupsafe==2.1.3 @@ -89,17 +90,20 @@ pyproject-hooks==1.0.0 # via build pyyaml==6.0.1 # via - # -r tests/requirements-relaxed.in + # -c tests/constraints.in + # -r tests/requirements.in # antsibull-core # antsibull-docs requests==2.31.0 # via sphinx resolvelib==0.8.1 - # via -r tests/requirements-relaxed.in + # via + # -c tests/constraints.in + # -r tests/requirements.in rstcheck==3.5.0 # via - # -c tests/constraints-base.in - # -r tests/requirements-relaxed.in + # -c tests/constraints.in + # -r tests/requirements.in # antsibull-docs semantic-version==2.10.0 # via @@ -114,16 +118,16 @@ snowballstemmer==2.2.0 sphinx==4.2.0 # via # -c tests/constraints.in - # -r tests/requirements-relaxed.in + # -r tests/requirements.in # antsibull-docs # sphinx-ansible-theme # sphinx-notfound-page # sphinx-rtd-theme # sphinxcontrib-jquery sphinx-ansible-theme==0.9.1 - # via -r tests/requirements-relaxed.in + # via -r tests/requirements.in sphinx-notfound-page==0.8.3 - # via -r tests/requirements-relaxed.in + # via -r tests/requirements.in sphinx-rtd-theme==1.3.0 # via sphinx-ansible-theme sphinxcontrib-applehelp==1.0.4