Add requirements.in file to list top-level docs dependencies.
Have rtd install pip-tools and use pip-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.txt
Additional changes:
Update sphinx version and fix resulting conf.py build errors (language and extra css files).
Add sphinx todo extension
Motivation and Context
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.
Description
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.txtAdditional changes:
Motivation and Context
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/
How Has This Been Tested?
Tested and built successfully from test-docs repository.
Types of changes
Checklist:
I have added tests to cover my changes.