Skip to content

Commit 56bfb98

Browse files
committed
Test against newer Sphinx versions.
1 parent 68c926e commit 56bfb98

File tree

9 files changed

+153
-64
lines changed

9 files changed

+153
-64
lines changed

.github/workflows/python_ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ jobs:
3030
config:
3131
- {python-version: "3.7", testenvs: "py37-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},py37-docutils{0.16,0.17,0.18},build", experimental: False}
3232
- {python-version: "3.8", testenvs: "py38-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},py38-docutils{0.16,0.17,0.18},build", experimental: False}
33-
- {python-version: "3.9", testenvs: "py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py39-docutils{0.16,0.17,0.18},build", experimental: False}
34-
- {python-version: "3.10", testenvs: "py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py310-docutils{0.16,0.17,0.18},build", experimental: False}
35-
- {python-version: "3.11", testenvs: "py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py311-docutils{0.16,0.17,0.18},build", experimental: False}
36-
- {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py312-docutils{0.16,0.17,0.18},build", experimental: False}
37-
- {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2},py313-docutils{0.16,0.17,0.18},build", experimental: False}
33+
- {python-version: "3.9", testenvs: "py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},py39-docutils{0.16,0.17,0.18},build", experimental: False}
34+
- {python-version: "3.10", testenvs: "py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-docutils{0.16,0.17,0.18},build", experimental: False}
35+
- {python-version: "3.11", testenvs: "py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-docutils{0.16,0.17,0.18},build", experimental: False}
36+
- {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-docutils{0.16,0.17,0.18},build", experimental: False}
37+
- {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-docutils{0.16,0.17,0.18},build", experimental: False}
3838

3939
steps:
4040
- name: Checkout 🛎️

.github/workflows/python_ci_linux.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ jobs:
3131
config:
3232
- {python-version: "3.7", testenvs: "py37-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},py37-docutils{0.16,0.17,0.18},build", experimental: False}
3333
- {python-version: "3.8", testenvs: "py38-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},py38-docutils{0.16,0.17,0.18},build", experimental: False}
34-
- {python-version: "3.9", testenvs: "py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py39-docutils{0.16,0.17,0.18},build", experimental: False}
35-
- {python-version: "3.10", testenvs: "py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py310-docutils{0.16,0.17,0.18},build", experimental: False}
36-
- {python-version: "3.11", testenvs: "py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py311-docutils{0.16,0.17,0.18},build", experimental: False}
37-
- {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py312-docutils{0.16,0.17,0.18},build", experimental: False}
38-
- {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2},py313-docutils{0.16,0.17,0.18},build", experimental: False}
34+
- {python-version: "3.9", testenvs: "py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},py39-docutils{0.16,0.17,0.18},build", experimental: False}
35+
- {python-version: "3.10", testenvs: "py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-docutils{0.16,0.17,0.18},build", experimental: False}
36+
- {python-version: "3.11", testenvs: "py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-docutils{0.16,0.17,0.18},build", experimental: False}
37+
- {python-version: "3.12", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-docutils{0.16,0.17,0.18},build", experimental: False}
38+
- {python-version: "3.13", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-docutils{0.16,0.17,0.18},build", experimental: False}
3939

4040
steps:
4141
- name: Checkout 🛎️

.github/workflows/python_ci_macos.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ jobs:
3030
config:
3131
- {python-version: "3.7", os-ver: "13", testenvs: "py37-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3},py37-docutils{0.16,0.17,0.18},build", experimental: False}
3232
- {python-version: "3.8", os-ver: "14", testenvs: "py38-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1},py38-docutils{0.16,0.17,0.18},build", experimental: False}
33-
- {python-version: "3.9", os-ver: "14", testenvs: "py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py39-docutils{0.16,0.17,0.18},build", experimental: False}
34-
- {python-version: "3.10", os-ver: "14", testenvs: "py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py310-docutils{0.16,0.17,0.18},build", experimental: False}
35-
- {python-version: "3.11", os-ver: "14", testenvs: "py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py311-docutils{0.16,0.17,0.18},build", experimental: False}
36-
- {python-version: "3.12", os-ver: "14", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2},py312-docutils{0.16,0.17,0.18},build", experimental: False}
37-
- {python-version: "3.13", os-ver: "14", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2},py313-docutils{0.16,0.17,0.18},build", experimental: False}
33+
- {python-version: "3.9", os-ver: "14", testenvs: "py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4},py39-docutils{0.16,0.17,0.18},build", experimental: False}
34+
- {python-version: "3.10", os-ver: "14", testenvs: "py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1},py310-docutils{0.16,0.17,0.18},build", experimental: False}
35+
- {python-version: "3.11", os-ver: "14", testenvs: "py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py311-docutils{0.16,0.17,0.18},build", experimental: False}
36+
- {python-version: "3.12", os-ver: "14", testenvs: "py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py312-docutils{0.16,0.17,0.18},build", experimental: False}
37+
- {python-version: "3.13", os-ver: "14", testenvs: "py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2},py313-docutils{0.16,0.17,0.18},build", experimental: False}
3838

3939
steps:
4040
- name: Checkout 🛎️

repo_helper.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,30 @@ python_versions:
2525
- 7.0
2626
- 7.1
2727
- 7.2
28+
- 7.3
29+
- 7.4
30+
- 8.0
31+
- 8.1
32+
- 8.2
2833
3.8:
2934
matrix_exclude:
3035
sphinx:
3136
- 7.2
37+
- 7.3
38+
- 7.4
39+
- 8.0
40+
- 8.1
41+
- 8.2
3242
3.9:
43+
matrix_exclude:
44+
sphinx:
45+
- 8.0
46+
- 8.1
47+
- 8.2
3348
"3.10":
49+
matrix_exclude:
50+
sphinx:
51+
- 8.2
3452
"3.11":
3553
"3.12":
3654
matrix_exclude:
@@ -87,10 +105,17 @@ third_party_version_matrix:
87105
- 7.0
88106
- 7.1
89107
- 7.2
108+
- 7.3
109+
- 7.4
110+
- 8.0
111+
- 8.1
112+
- 8.2
90113
docutils:
91114
- 0.16
92115
- 0.17
93116
- 0.18
117+
# - 0.19
118+
# - 0.20
94119

95120
classifiers:
96121
- 'Development Status :: 3 - Alpha'
@@ -104,5 +129,5 @@ classifiers:
104129
mypy_deps:
105130
- types-docutils
106131

107-
tox_unmanaged:
108-
- testenv
132+
exclude_files:
133+
- tox

tests/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
coincidence>=0.2.0
22
coverage>=5.1
33
coverage-pyver-pragma>=0.2.1
4+
defusedxml>=0.7.1
45
domdf-python-tools>=3.1.0
56
importlib-metadata>=3.6.0
67
pytest>=6.0.0
78
pytest-cov>=2.8.1
89
pytest-randomly>=3.7.0
910
pytest-timeout>=1.4.2
10-
sphinx-toolbox[testing]>=2.17.0
11+
sphinx-toolbox[testing]>=4.0.0

tests/test_output.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
def doc_root(tmp_pathplus: PathPlus) -> None:
1717
doc_root = tmp_pathplus.parent / "test-html-section"
1818
doc_root.maybe_make()
19-
(doc_root / "conf.py").write_clean("extensions = ['html_section']")
19+
(doc_root / "conf.py").write_clean("extensions = ['html_section']\nproject='Python'\nauthor='unknown'")
2020

2121
shutil.copy2(PathPlus(__file__).parent / "index.rst", doc_root / "index.rst")
2222

@@ -47,6 +47,10 @@ def test_html_output(app: Sphinx, html_regression: HTMLRegressionFixture):
4747
div["src"] = div["src"].split("?v=")[0]
4848
print(div["src"])
4949

50+
for meta in cast(List[Dict], page.find_all("meta")):
51+
if meta.get("content", '') == "width=device-width, initial-scale=0.9, maximum-scale=0.9":
52+
meta.extract() # type: ignore[attr-defined]
53+
5054
html_regression.check(page, jinja2=True)
5155

5256

tests/test_output_/test_html_output.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
</script>{% if sphinx_version >= (5, 2) %}
2525
<script src="_static/sphinx_highlight.js">
2626
</script>{% endif %}
27-
<meta content="width=device-width, initial-scale=0.9, maximum-scale=0.9" name="viewport"/>
2827
</head>
2928
<body>
3029
<div class="document">
@@ -61,7 +60,9 @@ <h2>
6160
<p>
6261
This section’s heading shouldn’t be present at all.
6362
</p>
64-
</{% if docutils_version >= (0, 17) %}section{% else %}div{% endif %}>
63+
</{% if docutils_version >= (0, 17) %}section{% else %}div{% endif %}>{% if sphinx_version >= (8, 1) %}
64+
<div class="clearer">
65+
</div>{% endif %}
6566
</div>
6667
</div>
6768
</div>

tests/test_sphinx_version.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# stdlib
2+
import os
3+
import re
4+
5+
# 3rd party
6+
import sphinx
7+
8+
9+
def test_sphinx_version_against_tox():
10+
m = re.match(r"py.*-sphinx(\d)\.(\d)", os.getenv("TOX_ENV_NAME", ''))
11+
if m is not None:
12+
target_version = tuple(map(int, m.groups()))
13+
assert target_version == sphinx.version_info[:2]

tox.ini

Lines changed: 88 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,16 @@
1818
# * coverage:run
1919
# * coverage:report
2020
# * check-wheel-contents
21-
# * pytest
2221

2322
[tox]
2423
envlist =
2524
py37-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3}
2625
py38-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}
27-
py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
28-
py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
29-
py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
30-
py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
31-
py313-sphinx{6.2,7.0,7.1,7.2}
26+
py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4}
27+
py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1}
28+
py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2}
29+
py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2}
30+
py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2}
3231
py37-docutils{0.16,0.17,0.18}
3332
py38-docutils{0.16,0.17,0.18}
3433
py39-docutils{0.16,0.17,0.18}
@@ -50,11 +49,11 @@ requires =
5049
test =
5150
py37-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3}
5251
py38-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1}
53-
py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
54-
py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
55-
py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
56-
py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}
57-
py313-sphinx{6.2,7.0,7.1,7.2}
52+
py39-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4}
53+
py310-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1}
54+
py311-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2}
55+
py312-sphinx{4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2}
56+
py313-sphinx{6.2,7.0,7.1,7.2,7.3,7.4,8.0,8.1,8.2}
5857
py37-docutils{0.16,0.17,0.18}
5958
py38-docutils{0.16,0.17,0.18}
6059
py39-docutils{0.16,0.17,0.18}
@@ -245,25 +244,12 @@ filterwarnings =
245244
always:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version:DeprecationWarning:sphinx.builders[.*]
246245
markers = sphinx
247246
248-
[testenv:py312-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}]
249-
download = True
250-
setenv =
251-
PYTHONDEVMODE=1
252-
PIP_DISABLE_PIP_VERSION_CHECK=1
253-
254247
[testenv:py312-docutils{0.16,0.17,0.18}]
255248
download = True
256249
setenv =
257250
PYTHONDEVMODE=1
258251
PIP_DISABLE_PIP_VERSION_CHECK=1
259252
260-
[testenv:py313-sphinx{3.3,3.4,3.5,4.0,4.1,4.2,4.3,4.4,4.5,5.0,5.1,5.2,5.3,6.0,6.1,6.2,7.0,7.1,7.2}]
261-
download = True
262-
setenv =
263-
PYTHONDEVMODE=1
264-
PIP_DISABLE_PIP_VERSION_CHECK=1
265-
UNSAFE_PYO3_SKIP_VERSION_CHECK=1
266-
267253
[testenv:py313-docutils{0.16,0.17,0.18}]
268254
download = True
269255
setenv =
@@ -279,26 +265,25 @@ setenv =
279265
deps =
280266
-r{toxinidir}/tests/requirements.txt
281267
-r{toxinidir}/requirements.txt
282-
sphinx3.3: sphinx~=3.3.1
283-
sphinx3.4: sphinx~=3.4.3
284-
sphinx3.5: sphinx~=3.5.4
268+
sphinx3.3: sphinx==3.3.1
269+
sphinx3.4: sphinx==3.4.3
270+
sphinx3.5: sphinx==3.5.4
285271
sphinx3.{2,3,4,5}: docutils==0.16
286-
sphinx4.0: sphinx~=4.0.3
287-
sphinx4.1: sphinx~=4.1.2
288-
sphinx4.2: sphinx~=4.2.0
289-
sphinx4.3: sphinx~=4.3.2
290-
sphinx4.4: sphinx~=4.4.0
291-
sphinx4.5: sphinx~=4.5.0
292-
sphinx5.0: sphinx~=5.0.2
293-
sphinx5.1: sphinx~=5.1.1
294-
sphinx5.2: sphinx~=5.2.1
295-
sphinx5.3: sphinx~=5.3.0
296-
sphinx6.0: sphinx~=6.0.1
297-
sphinx6.1: sphinx~=6.1.2
298-
sphinx6.2: sphinx~=6.2.0
299-
sphinx7.0: sphinx~=7.0.0
300-
sphinx7.1: sphinx~=7.1.0
301-
sphinx7.2: sphinx~=7.2.0
272+
sphinx4.0: sphinx==4.0.3
273+
sphinx4.1: sphinx==4.1.2
274+
sphinx4.2: sphinx==4.2.0
275+
sphinx4.3: sphinx==4.3.2
276+
sphinx4.4: sphinx==4.4.0
277+
sphinx4.5: sphinx==4.5.0
278+
sphinx5.0: sphinx==5.0.2
279+
sphinx5.1: sphinx==5.1.1
280+
sphinx5.2: sphinx==5.2.3
281+
sphinx5.3: sphinx==5.3.0
282+
sphinx6.0: sphinx==6.0.1
283+
sphinx6.1: sphinx==6.1.3
284+
sphinx6.2: sphinx==6.2.1
285+
sphinx7.0: sphinx==7.0.1
286+
sphinx7.1: sphinx==7.1.2
302287
docutils0.16: docutils~=0.16.0
303288
docutils0.17: docutils~=0.17.0
304289
docutils0.18: docutils~=0.18.0
@@ -312,3 +297,63 @@ deps =
312297
commands =
313298
python --version
314299
python -m pytest --cov=html_section -r aR tests/ {posargs}
300+
301+
[testenv:py{39,310,311,312,313,py39}-sphinx7.2]
302+
deps =
303+
-r{toxinidir}/tests/requirements.txt
304+
-r{toxinidir}/requirements.txt
305+
commands =
306+
pip install sphinx==7.2.6
307+
pip install pygments>=2.7.4,<=2.13.0
308+
python --version
309+
python -m pytest --cov=html_section -r aR tests/ {posargs}
310+
311+
[testenv:py{39,310,311,312,313,py39}-sphinx7.3]
312+
deps =
313+
-r{toxinidir}/tests/requirements.txt
314+
-r{toxinidir}/requirements.txt
315+
commands =
316+
pip install sphinx==7.3.7
317+
pip install pygments>=2.7.4,<=2.13.0
318+
python --version
319+
python -m pytest --cov=html_section -r aR tests/ {posargs}
320+
321+
[testenv:py{39,310,311,312,313,py39}-sphinx7.4]
322+
deps =
323+
-r{toxinidir}/tests/requirements.txt
324+
-r{toxinidir}/requirements.txt
325+
commands =
326+
pip install sphinx==7.4.7
327+
pip install pygments>=2.7.4,<=2.13.0
328+
python --version
329+
python -m pytest --cov=html_section -r aR tests/ {posargs}
330+
331+
[testenv:py{310,311,312,313}-sphinx8.0]
332+
deps =
333+
-r{toxinidir}/tests/requirements.txt
334+
-r{toxinidir}/requirements.txt
335+
commands =
336+
pip install sphinx==8.0.2
337+
pip install pygments>=2.7.4,<=2.13.0 alabaster==0.7.16
338+
python --version
339+
python -m pytest --cov=html_section -r aR tests/ {posargs}
340+
341+
[testenv:py{310,311,312,313}-sphinx8.1]
342+
deps =
343+
-r{toxinidir}/tests/requirements.txt
344+
-r{toxinidir}/requirements.txt
345+
commands =
346+
pip install sphinx==8.1.3
347+
pip install pygments>=2.7.4,<=2.13.0
348+
python --version
349+
python -m pytest --cov=html_section -r aR tests/ {posargs}
350+
351+
[testenv:py{311,312,313}-sphinx8.2]
352+
deps =
353+
-r{toxinidir}/tests/requirements.txt
354+
-r{toxinidir}/requirements.txt
355+
commands =
356+
pip install sphinx==8.2.1
357+
pip install pygments>=2.7.4,<=2.13.0
358+
python --version
359+
python -m pytest --cov=html_section -r aR tests/ {posargs}

0 commit comments

Comments
 (0)