Docs: Update deps and enable reproducible builds #562
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Documentation builds started breaking as a result of ReadtheDocs changing what packages and versions are installed in the build environment. Using reproducible builds enables always having working builds of the docs in the event of future changes to the build environment.
https://blog.readthedocs.com/defaulting-latest-build-tools/
User docs
Add requirements.in file to list top-level docs dependencies.
Have rtd install
pip-tools
and usepip-compile
to always generate an updated requirements file in the rtd build output.Add the requirements.txt generated by
pip-compile
to pin this version of the docs as a reproducible build.Note: When wanting to pin a new docs build, copy the results of
pip-compile
from the build logs and overwrite the existing requirements.txtDeveloper Docs
Have developer docs use the same requirements file as user docs. If this needs unique dependencies at some point, either create unique requirements file, or use layered requirements.
https://pip-tools.readthedocs.io/en/latest/#workflow-for-layered-requirements
Enable todo and todolist output in developer docs. Keep disabled in user docs.