From 93adba67ba10449d42eae57ded479038c97815a3 Mon Sep 17 00:00:00 2001 From: Tiexin Guo Date: Thu, 28 Mar 2024 15:47:01 +0800 Subject: [PATCH 1/2] docs: separate compiling requirements.txt for docs into a new command --- tox.ini | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 15c1a46f8..504542475 100644 --- a/tox.ini +++ b/tox.ini @@ -23,11 +23,16 @@ passenv = PATH MODEL_SETTINGS +[testenv:docs-deps] +description = Compile the requirements.txt file for docs +deps = pip-tools +commands = + pip-compile --extra=docs -o docs/requirements.txt pyproject.toml + [testenv:docs] description = Build the Sphinx docs deps = pip-tools commands_pre = - pip-compile --extra=docs -o docs/requirements.txt pyproject.toml pip-sync {toxinidir}/docs/requirements.txt commands = sphinx-build -W --keep-going docs/ docs/_build/html From 255ed25167d189254d8d48fa83790a2e4d3db7a8 Mon Sep 17 00:00:00 2001 From: Tiexin Guo Date: Tue, 2 Apr 2024 09:00:33 +0800 Subject: [PATCH 2/2] chore: add tox docs-deps in HACKING.md --- HACKING.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/HACKING.md b/HACKING.md index 9bc7e9829..af66fc7a9 100644 --- a/HACKING.md +++ b/HACKING.md @@ -26,6 +26,9 @@ tox -e unit test/test_charm.py # Format the code using isort and autopep8 tox -e fmt +# Compile the requirements.txt file for docs +tox -e docs-deps + # Generate a local copy of the Sphinx docs in docs/_build tox -e docs @@ -198,6 +201,13 @@ tox -e docs open docs/_build/html/index.html ``` +If dependencies are updated in `pyproject.toml`, you can run the following command +before generating docs to recompile the `requirements.txt` file used for docs: + +```sh +tox -e docs-deps +``` + ## How to Pull in Style Changes The documentation uses Canonical styling which is customised on top of the [Furo Sphinx theme](https://github.com/pradyunsg/furo). The easiest way to pull in Canonical style changes is by using the Canonical documentation starter pack, see [docs](https://canonical-starter-pack.readthedocs-hosted.com/) and [repository](https://github.com/canonical/sphinx-docs-starter-pack).