From ba5892fa9ebcd527b5ed24be1355e3f1450909d6 Mon Sep 17 00:00:00 2001 From: Kristian Wind Date: Mon, 17 Aug 2026 08:11:26 +0200 Subject: [PATCH] fix(docs): pin the toolchain in a requirements file so pip caching works actions/setup-python's pip cache needs a requirements.txt or pyproject.toml to hash, and failed the whole job without one. Putting the pin in a file rather than inline also puts it somewhere a person would look for it. Co-Authored-By: Claude Opus 5 --- .github/workflows/docs.yml | 7 ++----- docs/requirements.txt | 5 +++++ mkdocs.yml | 5 +++++ 3 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 docs/requirements.txt diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3b11ec0..f8f4da5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,12 +31,9 @@ jobs: with: python-version: '3.12' cache: pip + cache-dependency-path: docs/requirements.txt - # Pinned deliberately. The Material maintainers have announced that MkDocs - # 2.0 removes the plugin system and breaks every theme override with no - # migration path — an unpinned install would break this build on the day it - # lands, for a docs site nobody was editing. - - run: pip install 'mkdocs-material==9.7.7' + - run: pip install -r docs/requirements.txt - run: mkdocs build --strict diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..e7d00d5 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,5 @@ +# Pinned deliberately. The Material maintainers have announced that MkDocs 2.0 +# removes the plugin system and breaks every theme override with no migration +# path, so an unpinned install would break this build on the day it lands — for a +# docs site nobody was editing. +mkdocs-material==9.7.7 diff --git a/mkdocs.yml b/mkdocs.yml index 34d9d8b..5983494 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -75,3 +75,8 @@ markdown_extensions: plugins: - search + +# The pinned toolchain lives in docs/ so the Pages workflow can cache on it; it is +# not a page. +exclude_docs: | + requirements.txt