diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 26f39bd..3e85919 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] os: [ubuntu-latest] @@ -20,6 +20,7 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - name: Update pip and setuptools run: | diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 0db07f9..7d81dd4 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -55,7 +55,7 @@ You can also use [tox](https://tox.wiki/en/latest/index.html) to test with multi ```console /path/to/venv/bin/tox ``` -will by default run all tests on python versions 3.8 through 3.11. If you only want to test a specific version you can specify the environment with `-e` +will by default run all tests on python versions 3.8 through 3.12. If you only want to test a specific version you can specify the environment with `-e` ```console /path/to/venv/bin/tox -e py38 diff --git a/README.rst b/README.rst index ddec96a..4bb4317 100644 --- a/README.rst +++ b/README.rst @@ -334,6 +334,7 @@ Unreleased * Fix a crash and several test failures on Python 3.12, all relating to the B907 check. +* Declare support for Python 3.12. 23.6.5 ~~~~~~ diff --git a/pyproject.toml b/pyproject.toml index e5be03f..f564d70 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance", diff --git a/tox.ini b/tox.ini index 361c1dc..e27c4fc 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ # The test environment and commands [tox] # default environments to run without `-e` -envlist = py38, py39, py310, py311 +envlist = py38, py39, py310, py311, py312 [gh-actions] python = @@ -9,8 +9,9 @@ python = 3.9: py39 3.10: py310 3.11: py311 + 3.12: py312 -[testenv:{py38, py39, py310, py311}] +[testenv] description = Run coverage deps = coverage @@ -19,3 +20,8 @@ deps = commands = coverage run tests/test_bugbear.py {posargs} coverage report -m + +[testenv:py312] +deps = + # the other dependencies aren't yet installable on py312+ + coverage