Skip to content

Commit

Permalink
Update attrs test matrix
Browse files Browse the repository at this point in the history
  • Loading branch information
domdfcoding committed Aug 21, 2024
1 parent c7db36f commit 154d573
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 64 deletions.
20 changes: 10 additions & 10 deletions .github/workflows/python_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,16 @@ jobs:
fail-fast: False
matrix:
config:
- {python-version: "3.7", testenvs: "py37-attrs{21.3,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.3,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,7},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.3,21.4,22.2,23.1,23.2,latest},py312-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.13.0-beta.4", testenvs: "py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{6,7},build", experimental: True}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.3,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.3,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5,6,7},build", experimental: False}
- {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39-attrs{21.3,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.7", testenvs: "py37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},py312-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.13.0-beta.4", testenvs: "py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},py313-dev-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{6,7},build", experimental: True}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy37-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy38-sphinx{4,5,6,7},build", experimental: False}
- {python-version: "pypy-3.9-v7.3.15", testenvs: "pypy39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy39-sphinx{4,5,6,7},build", experimental: True}

steps:
- name: Checkout 🛎️
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/python_ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@ jobs:
fail-fast: False
matrix:
config:
- {python-version: "3.7", testenvs: "py37-attrs{21.3,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.3,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,7},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.3,21.4,22.2,23.1,23.2,latest},py312-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.13.0-beta.4", testenvs: "py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{6,7},build", experimental: True}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.3,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.3,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5,6,7},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.3,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.7", testenvs: "py37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},py312-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.13.0-beta.4", testenvs: "py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},py313-dev-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{6,7},build", experimental: True}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy37-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy38-sphinx{4,5,6,7},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy39-sphinx{4,5,6,7},build", experimental: True}

steps:
- name: Checkout 🛎️
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/python_ci_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,16 @@ jobs:
fail-fast: False
matrix:
config:
- {python-version: "3.7", testenvs: "py37-attrs{21.3,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.3,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,7},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.3,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,7},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.3,21.4,22.2,23.1,23.2,latest},py312-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.13.0-beta.4", testenvs: "py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,latest},py313-dev-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{6,7},build", experimental: True}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.3,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.3,21.4,22.2,23.1,23.2,latest},pypy38-sphinx{4,5,6,7},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.3,21.4,22.2,23.1,23.2,latest},pypy39-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.7", testenvs: "py37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.9", testenvs: "py39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.10", testenvs: "py310-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.11", testenvs: "py311-attrs{21.3,21.4,22.2,23.1,23.2,24.1,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,7},build", experimental: False}
- {python-version: "3.12", testenvs: "py312-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},py312-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py312-sphinx{4,5,6,7},build", experimental: True}
- {python-version: "3.13.0-beta.4", testenvs: "py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},py313-dev-mypy{1.0.1,1.2.0,1.4.1,1.6.1,latest},py313-dev-sphinx{6,7},build", experimental: True}
- {python-version: "pypy-3.7", testenvs: "pypy37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy37-sphinx{4,5},build", experimental: False}
- {python-version: "pypy-3.8", testenvs: "pypy38-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy38-sphinx{4,5,6,7},build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest},pypy39-sphinx{4,5,6,7},build", experimental: True}

steps:
- name: Checkout 🛎️
Expand Down
1 change: 1 addition & 0 deletions repo_helper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ third_party_version_matrix:
- 22.2
- 23.1
- 23.2
- 24.1
- latest
mypy:
- "0.900"
Expand Down
2 changes: 1 addition & 1 deletion tests/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# mypy<1.8.0; platform_python_implementation == "CPython"
alabaster<=0.7.13
coincidence>=0.2.0
coverage>=5.1
coverage-pyver-pragma>=0.2.1
fastdiff<1,>=0.1.4
importlib-metadata>=3.6.0
mypy<1.8.0; platform_python_implementation == "CPython"
pytest>=6.0.0
pytest-benchmark>=3.2.3
pytest-cov>=2.8.1
Expand Down
56 changes: 23 additions & 33 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,16 @@

[tox]
envlist =
py37-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py38-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py39-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py310-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py311-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py312-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,latest}
pypy37-attrs{21.3,21.4,22.2,23.1,23.2,latest}
pypy38-attrs{21.3,21.4,22.2,23.1,23.2,latest}
pypy39-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py38-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py310-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py311-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py312-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
pypy37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
pypy38-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
pypy39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py37-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1}
py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest}
py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest}
Expand Down Expand Up @@ -60,16 +60,16 @@ requires =

[envlists]
test =
py37-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py38-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py39-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py310-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py311-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py312-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,latest}
pypy37-attrs{21.3,21.4,22.2,23.1,23.2,latest}
pypy38-attrs{21.3,21.4,22.2,23.1,23.2,latest}
pypy39-attrs{21.3,21.4,22.2,23.1,23.2,latest}
py37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py38-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py310-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py311-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py312-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
pypy37-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
pypy38-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
pypy39-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}
py37-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1}
py38-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest}
py39-mypy{0.900,0.910,0.921,0.931,1.0.1,1.2.0,1.4.1,1.6.1,latest}
Expand Down Expand Up @@ -102,6 +102,7 @@ deps =
attrs22.2: attrs~=22.2.0
attrs23.1: attrs~=23.1.0
attrs23.2: attrs~=23.2.0
attrs24.1: attrs~=24.1.0
attrslatest: attrs
mypy0.900: mypy~=0.900.0
mypy0.910: mypy~=0.910.0
Expand Down Expand Up @@ -286,7 +287,7 @@ ignore = W002
toplevel = attr_utils
package = attr_utils
[testenv:py312-attrs{21.3,21.4,22.2,23.1,23.2,latest}]
[testenv:py312-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}]
setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
Expand All @@ -301,7 +302,7 @@ setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
[testenv:py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,latest}]
[testenv:py313-dev-attrs{21.3,21.4,22.2,23.1,23.2,24.1,latest}]
setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
Expand All @@ -319,17 +320,6 @@ setenv =
PIP_DISABLE_PIP_VERSION_CHECK=1
UNSAFE_PYO3_SKIP_VERSION_CHECK=1
[testenv:py312-attrs{21.2,21.4,22.2,23.1,23.2,latest}]
setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
[testenv:py313-dev-attrs{21.2,21.4,22.2,23.1,23.2,latest}]
setenv =
PYTHONDEVMODE=1
PIP_DISABLE_PIP_VERSION_CHECK=1
UNSAFE_PYO3_SKIP_VERSION_CHECK=1
[testenv:py{37,38,39,310,311}-mypy{0.900,0.910,0.921,0.931}]
setenv =
PYTHONDEVMODE=1
Expand Down

0 comments on commit 154d573

Please sign in to comment.