LLNL / scr

SCR caches checkpoint data in storage on the compute nodes of a Linux cluster to provide a fast, scalable checkpoint / restart capability for MPI codes.
http://computing.llnl.gov/projects/scalable-checkpoint-restart-for-mpi
Other
99 stars 36 forks source link

Docs: Update deps and enable reproducible builds #562

Closed CamStan closed 1 year ago

CamStan commented 1 year ago

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 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

Developer 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.

adammoody commented 1 year ago

Thanks, @CamStan .