Skip to content

Commit

Permalink
Merge pull request #1495 from rmartin16/ci-python-3.13
Browse files Browse the repository at this point in the history
Support testing against Python 3.13
  • Loading branch information
freakboy3742 committed Feb 17, 2024
2 parents 7682008 + 3cc406b commit 2e81d10
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 13 deletions.
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/checkout@v4.1.1
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

0 comments on commit 2e81d10

Please sign in to comment.