@@ -94,10 +94,44 @@ jobs:
9494 # docs/conf.py imports diff_diff via sys.path from checked-out source.
9595 # ipython provides the 'ipython3' Pygments lexer that nbsphinx uses
9696 # for notebook code cells; without it -W fires highlighting_failure.
97- run : pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.7.0" "sphinx>=6.0" "pydata-sphinx-theme>=0.15 " "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "matplotlib>=3.5" "ipython>=8.0"
97+ run : pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.7.0" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1 " "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "matplotlib>=3.5" "ipython>=8.0"
9898
9999 - name : Build docs with warnings as errors
100100 # SPHINXOPTS="-W" turns every Sphinx warning into a build failure.
101101 # PR #410 brought make html to 0 warnings; -W keeps it that way by
102102 # blocking any new warning from sneaking in.
103103 run : make -C docs html SPHINXOPTS="-W"
104+
105+ docs-deps-py39-smoke :
106+ name : Validate docs deps install on Python 3.9 (floor compat)
107+ if : >-
108+ github.event_name != 'pull_request'
109+ || contains(github.event.pull_request.labels.*.name, 'ready-for-ci')
110+ runs-on : ubuntu-latest
111+
112+ steps :
113+ - uses : actions/checkout@v6
114+
115+ - name : Set up Python 3.9
116+ uses : actions/setup-python@v6
117+ with :
118+ # 3.9 is the project's declared floor (pyproject.toml requires-python
119+ # >=3.9). The sphinx-build job above runs on 3.11; this job verifies
120+ # the docs dependency set actually installs on the floor Python so
121+ # we catch drift like pydata-sphinx-theme>=0.17.1 (which requires
122+ # Python>=3.10) before it lands.
123+ python-version : ' 3.9'
124+
125+ - name : Install docs dependencies
126+ # Same pip install line as sphinx-build above. Just installs - does
127+ # not run a Sphinx build (sphinx-build covers full rendering on 3.11).
128+ # Failure here means the docs floor declared in pyproject.toml /
129+ # .readthedocs.yaml / above is not installable on Python 3.9.
130+ run : pip install "numpy>=1.20.0" "pandas>=1.3.0" "scipy>=1.7.0" "sphinx>=6.0" "pydata-sphinx-theme>=0.16.1" "sphinxext-opengraph>=0.9" "sphinx-sitemap>=2.5" "nbsphinx>=0.9" "matplotlib>=3.5" "ipython>=8.0"
131+
132+ - name : Confirm pydata-sphinx-theme version
133+ # Surface the resolved version in the log for future debugging.
134+ # Avoid `pip show ... | head -3`: `head` closes the pipe after 3
135+ # lines and `pip show` exits non-zero under bash -o pipefail
136+ # (GitHub Actions default), failing the step despite a clean install.
137+ run : python -c "import importlib.metadata as m; print('pydata-sphinx-theme', m.version('pydata-sphinx-theme'))"
0 commit comments