Skip to content

Commit

Permalink
Test on Sphinx 6.x
Browse files Browse the repository at this point in the history
  • Loading branch information
domdfcoding committed Apr 4, 2024
1 parent 4f62448 commit 7ae7929
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 51 deletions.
16 changes: 8 additions & 8 deletions .github/workflows/python_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,16 @@ jobs:
config:
- {python-version: "3.6", testenvs: "py36-attrs{21.2,21.4,22.2},py36-mypy{0.900,0.910,0.921,0.931},py36-sphinx{4,5},build", experimental: False}
- {python-version: "3.7", testenvs: "py37-attrs{21.2,21.4,22.2,23.1,23.2,latest},py37-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1},py37-sphinx{4,5},build", experimental: False}
- {python-version: "3.8", testenvs: "py38-attrs{21.2,21.4,22.2,23.1,23.2,latest},py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py38-sphinx{4,5},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.2,21.4,22.2,23.1,23.2,latest},py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py39-sphinx{4,5},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.2,21.4,22.2,23.1,23.2,latest},py310-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py310-sphinx{4,5},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.2,21.4,22.2,23.1,23.2,latest},py311-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py311-sphinx{4,5},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.2,21.4,22.2,23.1,23.2,latest},py312-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5},build", experimental: True}
- {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-attrs{21.2,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{4,5},build", experimental: True}
- {python-version: "3.8", testenvs: "py38-attrs{21.2,21.4,22.2,23.1,23.2,latest},py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py38-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.2,21.4,22.2,23.1,23.2,latest},py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py39-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.2,21.4,22.2,23.1,23.2,latest},py310-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py310-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.2,21.4,22.2,23.1,23.2,latest},py311-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py311-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.2,21.4,22.2,23.1,23.2,latest},py312-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6},build", experimental: True}
- {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-attrs{21.2,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{4,5,6},build", experimental: True}
- {python-version: "pypy-3.6", testenvs: "pypy36-attrs{21.2,21.4,22.2},pypy36-sphinx{4,5}", experimental: False}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy37-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5},build", experimental: True}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5,6},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5,6},build", experimental: True}

steps:
- name: Checkout 🛎️
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/python_ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,16 @@ jobs:
config:
- {python-version: "3.6", testenvs: "py36-attrs{21.2,21.4,22.2},py36-mypy{0.900,0.910,0.921,0.931},py36-sphinx{4,5},build", experimental: False}
- {python-version: "3.7", testenvs: "py37-attrs{21.2,21.4,22.2,23.1,23.2,latest},py37-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1},py37-sphinx{4,5},build", experimental: False}
- {python-version: "3.8", testenvs: "py38-attrs{21.2,21.4,22.2,23.1,23.2,latest},py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py38-sphinx{4,5},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.2,21.4,22.2,23.1,23.2,latest},py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py39-sphinx{4,5},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.2,21.4,22.2,23.1,23.2,latest},py310-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py310-sphinx{4,5},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.2,21.4,22.2,23.1,23.2,latest},py311-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py311-sphinx{4,5},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.2,21.4,22.2,23.1,23.2,latest},py312-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5},build", experimental: True}
- {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-attrs{21.2,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{4,5},build", experimental: True}
- {python-version: "3.8", testenvs: "py38-attrs{21.2,21.4,22.2,23.1,23.2,latest},py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py38-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.2,21.4,22.2,23.1,23.2,latest},py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py39-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.2,21.4,22.2,23.1,23.2,latest},py310-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py310-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.2,21.4,22.2,23.1,23.2,latest},py311-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py311-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.2,21.4,22.2,23.1,23.2,latest},py312-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6},build", experimental: True}
- {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-attrs{21.2,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{4,5,6},build", experimental: True}
- {python-version: "pypy-3.6", testenvs: "pypy36-attrs{21.2,21.4,22.2},pypy36-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy37-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5},build", experimental: True}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5,6},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5,6},build", experimental: True}

steps:
- name: Checkout 🛎️
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/python_ci_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ jobs:
config:
- {python-version: "3.6", testenvs: "py36-attrs{21.2,21.4,22.2},py36-mypy{0.900,0.910,0.921,0.931},py36-sphinx{4,5},build", experimental: False}
- {python-version: "3.7", testenvs: "py37-attrs{21.2,21.4,22.2,23.1,23.2,latest},py37-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1},py37-sphinx{4,5},build", experimental: False}
- {python-version: "3.8", testenvs: "py38-attrs{21.2,21.4,22.2,23.1,23.2,latest},py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py38-sphinx{4,5},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.2,21.4,22.2,23.1,23.2,latest},py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py39-sphinx{4,5},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.2,21.4,22.2,23.1,23.2,latest},py310-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py310-sphinx{4,5},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.2,21.4,22.2,23.1,23.2,latest},py311-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py311-sphinx{4,5},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.2,21.4,22.2,23.1,23.2,latest},py312-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5},build", experimental: True}
- {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-attrs{21.2,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{4,5},build", experimental: True}
- {python-version: "3.8", testenvs: "py38-attrs{21.2,21.4,22.2,23.1,23.2,latest},py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py38-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.2,21.4,22.2,23.1,23.2,latest},py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py39-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.2,21.4,22.2,23.1,23.2,latest},py310-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py310-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.2,21.4,22.2,23.1,23.2,latest},py311-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py311-sphinx{4,5,6},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.2,21.4,22.2,23.1,23.2,latest},py312-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6},build", experimental: True}
- {python-version: "3.13.0-alpha.5", testenvs: "py313-dev-attrs{21.2,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{4,5,6},build", experimental: True}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy37-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5},build", experimental: True}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5,6},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.2,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5,6},build", experimental: True}

steps:
- name: Checkout 🛎️
Expand Down
4 changes: 2 additions & 2 deletions __pkginfo__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@

extras_require = {
"pprint": ["prettyprinter==0.18.0"],
"sphinx": ["sphinx<6,>=3.2.0", "sphinx-toolbox>=2.16.0"],
"all": ["prettyprinter==0.18.0", "sphinx<6,>=3.2.0", "sphinx-toolbox>=2.16.0"]
"sphinx": ["sphinx<7,>=3.2.0", "sphinx-toolbox>=2.16.0"],
"all": ["prettyprinter==0.18.0", "sphinx<7,>=3.2.0", "sphinx-toolbox>=2.16.0"]
}
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ Documentation = "https://attr-utils.readthedocs.io/en/latest"

[project.optional-dependencies]
pprint = [ "prettyprinter==0.18.0",]
sphinx = [ "sphinx<6,>=3.2.0", "sphinx-toolbox>=2.16.0",]
all = [ "prettyprinter==0.18.0", "sphinx<6,>=3.2.0", "sphinx-toolbox>=2.16.0",]
sphinx = [ "sphinx<7,>=3.2.0", "sphinx-toolbox>=2.16.0",]
all = [ "prettyprinter==0.18.0", "sphinx<7,>=3.2.0", "sphinx-toolbox>=2.16.0",]

[tool.mkrecipe]
conda-channels = [ "conda-forge", "domdfcoding",]
Expand Down
16 changes: 13 additions & 3 deletions repo_helper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,25 @@ python_versions:
- 23.1
- 23.2
- latest
sphinx:
- 6
"3.7":
matrix_exclude:
mypy:
- "1.6.1"
- "latest"
sphinx:
- 6
"3.8":
"3.9":
"3.10":
"3.11":
"3.12":
experimental: true
"3.13-dev":
sphinx:
- 4
- 5
"pypy36":
matrix_exclude:
mypy:
Expand All @@ -59,7 +66,8 @@ python_versions:
- 23.1
- 23.2
- latest

sphinx:
- 6
"pypy37":
matrix_exclude:
mypy:
Expand All @@ -72,7 +80,8 @@ python_versions:
- "1.4.1"
- "1.6.1"
- "latest"

sphinx:
- 6
"pypy38":
matrix_exclude:
mypy:
Expand Down Expand Up @@ -104,7 +113,7 @@ extras_require:
pprint:
- prettyprinter==0.18.0
sphinx:
- "sphinx>=3.2.0,<6"
- "sphinx>=3.2.0,<7"
- "sphinx_toolbox>=2.16.0"

extra_sphinx_extensions:
Expand Down Expand Up @@ -152,6 +161,7 @@ third_party_version_matrix:
sphinx:
- "4"
- "5"
- "6"

tox_unmanaged:
- pytest
Expand Down
9 changes: 8 additions & 1 deletion tests/test_output/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,17 @@
from bs4 import BeautifulSoup # type: ignore
from domdf_python_tools.paths import PathPlus
from sphinx.testing.path import path
from sphinx.util import logging, progress_message
from sphinx.util import logging
from sphinx.util.build_phase import BuildPhase
from sphinx.util.parallel import SerialTasks, parallel_available

try:
# 3rd party
from sphinx.util.display import progress_message
except ImportError:
# 3rd party
from sphinx.util import progress_message

pytest_plugins = "sphinx.testing.fixtures"


Expand Down
40 changes: 21 additions & 19 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@ envlist =
py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest}
py36-sphinx{4,5}
py37-sphinx{4,5}
py38-sphinx{4,5}
py39-sphinx{4,5}
py310-sphinx{4,5}
py311-sphinx{4,5}
py312-sphinx{4,5}
py313-dev-sphinx{4,5}
py38-sphinx{4,5,6}
py39-sphinx{4,5,6}
py310-sphinx{4,5,6}
py311-sphinx{4,5,6}
py312-sphinx{4,5,6}
py313-dev-sphinx{4,5,6}
pypy36-sphinx{4,5}
pypy37-sphinx{4,5}
pypy38-sphinx{4,5}
pypy39-sphinx{4,5}
pypy38-sphinx{4,5,6}
pypy39-sphinx{4,5,6}
mypy
build
skip_missing_interpreters = True
Expand Down Expand Up @@ -87,16 +87,16 @@ test =
py313-dev-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest}
py36-sphinx{4,5}
py37-sphinx{4,5}
py38-sphinx{4,5}
py39-sphinx{4,5}
py310-sphinx{4,5}
py311-sphinx{4,5}
py312-sphinx{4,5}
py313-dev-sphinx{4,5}
py38-sphinx{4,5,6}
py39-sphinx{4,5,6}
py310-sphinx{4,5,6}
py311-sphinx{4,5,6}
py312-sphinx{4,5,6}
py313-dev-sphinx{4,5,6}
pypy36-sphinx{4,5}
pypy37-sphinx{4,5}
pypy38-sphinx{4,5}
pypy39-sphinx{4,5}
pypy38-sphinx{4,5,6}
pypy39-sphinx{4,5,6}
qa = mypy, lint
cov = py37-attrs21.2, coverage

Expand Down Expand Up @@ -124,6 +124,7 @@ deps =
mypylatest: mypy
sphinx4: sphinx~=4.0
sphinx5: sphinx~=5.0
sphinx6: sphinx~=6.0
extras = all
commands =
python --version
Expand Down Expand Up @@ -302,7 +303,7 @@ setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
[testenv:py312-sphinx{4,5}]
[testenv:py312-sphinx{4,5,6}]
setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
Expand All @@ -317,7 +318,7 @@ setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
[testenv:py313-dev-sphinx{4,5}]
[testenv:py313-dev-sphinx{4,5,6}]
setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
Expand Down Expand Up @@ -355,10 +356,11 @@ filterwarnings =
always:ast.* is deprecated and will be removed in Python 3.14; use ast.Constant instead:DeprecationWarning
always:Attribute s is deprecated and will be removed in Python 3.14; use value instead:DeprecationWarning
always:datetime.datetime.utcfromtimestamp\(\) is deprecated and scheduled for removal in a future version.:DeprecationWarning
always:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning
markers = sphinx
[testenv:pypy3{6,7,8,9}-sphinx{4,5}]
[testenv:pypy3{6,7,8,9}-sphinx{4,5,6}]
commands =
python --version
python -m pytest --cov=attr_utils -r aR tests/ {posargs} --cov-config=.pypycoveragerc
Expand Down

0 comments on commit 7ae7929

Please sign in to comment.