Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ jobs:
fail-fast: false
matrix:
platform: [ "macos", "ubuntu", "windows" ]
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12", "3.13-dev" ]
include:
- experimental: false
# Allow dev Python to fail without failing entire job
#- python-version: "3.13-dev"
# experimental: true
- python-version: "3.13-dev"
experimental: true
steps:
- name: Checkout
uses: actions/[email protected]
Expand Down
1 change: 1 addition & 0 deletions changes/1495.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Python 3.13 was added as a supported testing platform.
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Software Development",
"Topic :: Utilities",
Expand Down Expand Up @@ -98,7 +99,7 @@ dev = [
# Pre-commit 3.6.0 deprecated support for Python 3.8
"pre-commit == 3.5.0 ; python_version < '3.9'",
"pre-commit == 3.6.1 ; python_version >= '3.9'",
"pytest == 8.0.0",
"pytest == 8.0.1",
"pytest-xdist == 3.5.0",
"setuptools_scm == 8.0.4",
"tox == 4.12.1",
Expand Down
20 changes: 11 additions & 9 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,18 @@ extend-ignore =
E203,

[tox]
envlist = towncrier-check,docs-lint,pre-commit,py{38,39,310,311,312},coverage
envlist = towncrier-check,docs-lint,pre-commit,py{38,39,310,311,312,313},coverage
labels =
test = py{38,39,310,311,312},coverage
test = py{38,39,310,311,312,313},coverage
test38 = py38,coverage38
test39 = py39,coverage39
test310 = py310,coverage310
test311 = py311,coverage311
test312 = py312,coverage312
test-fast = py{38,39,310,311,312}-fast
test-platform = py{38,39,310,311,312},coverage-platform
ci = towncrier-check,docs-lint,pre-commit,py{38,39,310,311,312},coverage-platform
test313 = py313,coverage313
test-fast = py{38,39,310,311,312,313}-fast
test-platform = py{38,39,310,311,312,313},coverage-platform
ci = towncrier-check,docs-lint,pre-commit,py{38,39,310,311,312,313},coverage-platform
skip_missing_interpreters = True

[testenv:pre-commit]
Expand All @@ -38,7 +39,7 @@ deps =
commands_pre = python -m install_requirement pre-commit --extra dev --project-root "{tox_root}"
commands = pre-commit run --all-files --show-diff-on-failure --color=always

[testenv:py{,38,39,310,311,312}{,-fast}]
[testenv:py{,38,39,310,311,312,313}{,-fast}]
package = wheel
wheel_build_env = .pkg
depends: pre-commit
Expand All @@ -51,18 +52,19 @@ commands =
!fast : python -X warn_default_encoding -m coverage run -m pytest {posargs:-vv --color yes}
fast : python -m pytest {posargs:-vv --color yes -n auto}

[testenv:coverage{,38,39,310,311,312}{,-ci}{,-platform,-platform-linux,-platform-macos,-platform-windows,-project}{,-keep}{,-html}]
depends = py{,38,39,310,311,312}
[testenv:coverage{,38,39,310,311,312,313}{,-ci}{,-platform,-platform-linux,-platform-macos,-platform-windows,-project}{,-keep}{,-html}]
depends = py{,38,39,310,311,312,313}
skip_install = True
# by default, coverage should run on oldest supported Python for testing platform coverage.
# however, coverage for a particular Python version should match the version used for pytest.
base_python =
coverage: py38,py39,py310,py311,py312
coverage: py38,py39,py310,py311,py312,py313
coverage38: py38
coverage39: py39
coverage310: py310
coverage311: py311
coverage312: py312
coverage313: py313
passenv = COVERAGE_FILE
setenv =
keep: COMBINE_FLAGS = --keep
Expand Down