diff --git a/.readthedocs.yml b/.readthedocs.yml index 233816b6d37..82701241900 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -3,5 +3,6 @@ formats: all sphinx: configuration: docs/conf.py python: - install: - - requirements: requirements/local-docs-build.txt + install: + - requirements: requirements/pip.txt + - requirements: requirements/docs.txt diff --git a/docs/.rstcheck.cfg b/docs/.rstcheck.cfg index 658a5491725..d63664bcb00 100644 --- a/docs/.rstcheck.cfg +++ b/docs/.rstcheck.cfg @@ -1,7 +1,7 @@ [rstcheck] ignore_directives=automodule,http:get,tabs,tab,prompt,http:patch,http:post,http:put,http:delete ignore_roles=djangosetting,setting,featureflags,buildpyversions -ignore_substitutions=org_brand,com_brand +ignore_substitutions=org_brand,com_brand,:smile: # This error needs to be ignored for now # See: https://github.com/myint/rstcheck/issues/19 ignore_messages=(Hyperlink target ".*" is not referenced) diff --git a/docs/development/docs.rst b/docs/development/docs.rst index 7480bd2ab2a..9ea59c5d770 100644 --- a/docs/development/docs.rst +++ b/docs/development/docs.rst @@ -10,7 +10,7 @@ Follow the instructions just up to the point of activating the virtual environme Next, install the documentation dependencies using ``pip`` (make sure you are inside of the virtual environment):: - pip install -r requirements/local-docs-build.txt + pip install -r requirements/docs.txt This installs ``Sphinx``, amongst other things. diff --git a/requirements/deploy.txt b/requirements/deploy.txt index 1e4e03494e0..c53870c3ba7 100644 --- a/requirements/deploy.txt +++ b/requirements/deploy.txt @@ -1,3 +1,5 @@ +# Requirements for our production systems + -r pip.txt # http://initd.org/psycopg/docs/install.html#binary-install-from-pypi psycopg2==2.8.3 --no-binary psycopg2 diff --git a/requirements/docker.txt b/requirements/docker.txt index bd88e4fa759..66f11272634 100644 --- a/requirements/docker.txt +++ b/requirements/docker.txt @@ -1,3 +1,5 @@ +# Requirements for our local docker development + -r pip.txt # http://initd.org/psycopg/docs/install.html#binary-install-from-pypi psycopg2-binary==2.8.5 diff --git a/requirements/docs-lint.txt b/requirements/docs-lint.txt deleted file mode 100644 index e861632b610..00000000000 --- a/requirements/docs-lint.txt +++ /dev/null @@ -1,5 +0,0 @@ -# Use <2.x until we fix some issues in our theme. -# Some things are not rendering properly and sidebar shows titles in gray. -Sphinx==1.8.5 # pyup: <2.0.0 - -rstcheck==3.3.1 diff --git a/requirements/local-docs-build.txt b/requirements/docs.txt similarity index 75% rename from requirements/local-docs-build.txt rename to requirements/docs.txt index f306992b630..8818f8922ee 100644 --- a/requirements/local-docs-build.txt +++ b/requirements/docs.txt @@ -1,6 +1,6 @@ --r pip.txt +# Packages required to build docs, independent of application dependencies -# Base packages +Sphinx==3.0.4 # doctuils==0.15 produces this error # File "python3.6/site-packages/docutils/parsers/rst/states.py", line 882, in interpreted @@ -10,18 +10,15 @@ # AttributeError: 'str' object has no attribute 'rawsource' docutils==0.14 # pyup: ignore -sphinx_rtd_theme==0.4.3 +sphinx_rtd_theme==0.5.0rc2 sphinx-tabs==1.1.13 -# Required to avoid Transifex error with reserved slug -# https://github.com/sphinx-doc/sphinx-intl/pull/27 -git+https://github.com/agjohnson/sphinx-intl.git@7b5c66bdb30f872b3b1286e371f569c8dcb66de5#egg=sphinx-intl +sphinx-intl==2.0.1 readthedocs-sphinx-search==0.1.0rc1 # Test out hoverxref git+https://github.com/readthedocs/sphinx-hoverxref@master - Pygments==2.6.1 mkdocs==1.1 @@ -34,3 +31,6 @@ sphinx-prompt==1.0.0 sphinx-notfound-page==0.4 commonmark==0.9.1 recommonmark==0.6.0 + +# Linting +rstcheck==3.3.1 diff --git a/requirements/lint.txt b/requirements/lint.txt index 08dc2254c9a..d74535d4b7e 100644 --- a/requirements/lint.txt +++ b/requirements/lint.txt @@ -1,3 +1,5 @@ +# Packages required for doing linting + -r pip.txt # prospector 1.1.6.2 is not compatible with 2.1.0 astroid<=2.0.4 # pyup: ignore diff --git a/requirements/pip.txt b/requirements/pip.txt index 6a80466bd3f..6afca37db3a 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,4 +1,5 @@ # Base packages + pip==20.1 appdirs==1.4.3 virtualenv==20.0.20 diff --git a/requirements/testing.txt b/requirements/testing.txt index 49f575ddb85..26560e6c071 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -1,5 +1,6 @@ +# Packages required for running tests + -r pip.txt --r local-docs-build.txt django-dynamic-fixture==3.1.0 pytest==5.4.2 diff --git a/tox.ini b/tox.ini index 770acc147c1..d986432d9de 100644 --- a/tox.ini +++ b/tox.ini @@ -32,10 +32,12 @@ commands = description = build readthedocs documentation changedir = {toxinidir}/docs commands = + pip install -r{toxinidir}/requirements/docs.txt # TODO: Remove this once our Sphinx versions don't conflict sphinx-build -W --keep-going -b html -d {envtmpdir}/doctrees . {envtmpdir}/html [testenv:docs-linkcheck] description = Check for broken links in the docs +deps = -r{toxinidir}/requirements/docs.txt changedir = {toxinidir}/docs commands = sphinx-build -W --keep-going -q -b linkcheck -d {envtmpdir}/doctrees . {envtmpdir}/linkcheck @@ -48,7 +50,7 @@ commands = [testenv:docs-lint] description = run linter (rstcheck) to ensure there aren't errors on our docs -deps = -r{toxinidir}/requirements/docs-lint.txt +deps = -r{toxinidir}/requirements/docs.txt changedir = {toxinidir}/docs commands = rstcheck -r .