Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: Update deps and enable reproducible builds #562

Merged
merged 1 commit into from
Oct 25, 2023

Conversation

CamStan
Copy link
Member

@CamStan CamStan commented Oct 25, 2023

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.

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

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.

Enable todo and todolist output in developer docs. Keep disabled in
user docs.
@adammoody adammoody merged commit 62e09ec into LLNL:develop Oct 25, 2023
@adammoody
Copy link
Contributor

Thanks, @CamStan .

@CamStan CamStan deleted the doc_builds branch October 25, 2023 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants