diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1f946e5f..b1d4a1f6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: python-version: 3.6 tox-env: py36 - name: py3.7 - os: ubuntu-latest + os: ubuntu-22.04 python-version: 3.7 tox-env: py37 - name: py3.8 @@ -81,14 +81,18 @@ jobs: tox-env: py311 - name: py3.12 os: ubuntu-latest - python-version: '3.12.0-beta.1' + python-version: '3.12' tox-env: py312 + - name: py3.13 + os: ubuntu-latest + python-version: '3.13' + tox-env: py313 - name: pypy os: ubuntu-latest python-version: pypy-2.7 tox-env: pypy - name: pypy3 - os: ubuntu-latest + os: ubuntu-22.04 python-version: pypy-3.7 tox-env: pypy3 # special configurations @@ -320,7 +324,7 @@ jobs: cr-html session-vs-master.sqlite > cosmic-ray.html - name: Archive mutation testing results if: ${{ matrix.mutation == 'true' && github.event.pull_request }} - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: mutation-PR-coverage-report path: cosmic-ray.html @@ -661,7 +665,7 @@ jobs: run: | cr-html session.sqlite > cosmic-ray.html - name: Archive mutation testing results - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: mutation-coverage-report path: cosmic-ray.html diff --git a/setup.py b/setup.py index 341fe734..618f5e6d 100755 --- a/setup.py +++ b/setup.py @@ -42,6 +42,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", ], install_requires=["six>=1.9.0"], extras_require={"gmpy2": "gmpy2", "gmpy": "gmpy"}, diff --git a/tox.ini b/tox.ini index ea01c4b4..19c03175 100644 --- a/tox.ini +++ b/tox.ini @@ -1,17 +1,17 @@ [tox] -envlist = py26, py27, py35, py36, py37, py38, py39, py310, py311, py312, py, pypy, pypy3, gmpy2py27, gmpy2py39, gmpy2py310, gmpypy27, gmpypy39, gmpypy310, codechecks +envlist = py26, py27, py35, py36, py37, py38, py39, py310, py311, py312, py313, py, pypy, pypy3, gmpy2py27, gmpy2py39, gmpy2py310, gmpypy27, gmpypy39, gmpypy310, codechecks [testenv] deps = py{26}: unittest2 py{26}: hypothesis<3 - py{26,27,35,36,37,38,39,310,311,312,py,py3}: pytest - py{27,35,36,37,38,39,310,311,312,py,py3}: hypothesis - gmpy2py{27,39,310,311,312}: gmpy2 - gmpypy{27,39,310,311,312}: gmpy - gmpy{2py27,2py39,2py310,2py311,2py312,py27,py39,py310,py311,py312}: pytest - gmpy{2py27,2py39,2py310,2py311,2py312,py27,py39,py310,py311,py312}: hypothesis + py{26,27,35,36,37,38,39,310,311,312,313,py,py3}: pytest + py{27,35,36,37,38,39,310,311,312,313,py,py3}: hypothesis + gmpy2py{27,39,310,311,312,313}: gmpy2 + gmpypy{27,39,310,311,312,313}: gmpy + gmpy{2py27,2py39,2py310,2py311,2py312,2py313,py27,py39,py310,py311,py312,py313}: pytest + gmpy{2py27,2py39,2py310,2py311,2py312,2py313,py27,py39,py310,py311,py312,py313}: hypothesis # six==1.9.0 comes from setup.py install_requires py27_old_six: six==1.9.0 py27_old_six: pytest @@ -53,6 +53,9 @@ basepython=python3.11 [testenv:gmpypy312] basepython=python3.12 +[testenv:gmpypy313] +basepython=python3.13 + [testenv:gmpy2py27] basepython=python2.7 @@ -68,6 +71,9 @@ basepython=python3.11 [testenv:gmpy2py312] basepython=python3.12 +[testenv:gmpy2py313] +basepython=python3.13 + [testenv:instrumental] basepython = python2.7 deps =