diff --git a/.github/workflows/UnitTesting.yaml b/.github/workflows/UnitTesting.yaml index cc4c6e05..44f265aa 100644 --- a/.github/workflows/UnitTesting.yaml +++ b/.github/workflows/UnitTesting.yaml @@ -16,13 +16,14 @@ jobs: py39: 3.9 py310: '3.10' py311: '3.11' + py312: '3.12' DB_DATABASE: test_db DB_USER: root DB_PASSWORD: root strategy: fail-fast: false matrix: - python-version: [py37, py38, py39, py310, py311] + python-version: [py37, py38, py39, py310, py311, py312] testenv: [core, ext] steps: - name: Checkout repo @@ -40,7 +41,7 @@ jobs: python-version: ${{ env[matrix.python-version] }} - name: Install tox - run: pip install "tox<=3.27.1" -U tox-factor + run: pip install "tox<=3.27.1" -U tox-factor setuptools - name: Cache tox environment # Preserves .tox directory between runs for faster installs diff --git a/tox.ini b/tox.ini index 9fb7c3c1..8ab28c22 100644 --- a/tox.ini +++ b/tox.ini @@ -1,46 +1,46 @@ [tox] skip_missing_interpreters = True envlist = - py{37,38,39,310,311}-core + py{37,38,39,310,311,312}-core - py{37,38,39,310,311}-ext-aiobotocore + py{37,38,39,310,311,312}-ext-aiobotocore - py{37,38,39,310,311}-ext-aiohttp + py{37,38,39,310,311,312}-ext-aiohttp - py{37,38,39,310,311}-ext-botocore + py{37,38,39,310,311,312}-ext-botocore - py{37,38,39,310,311}-ext-bottle + py{37,38,39,310,311,312}-ext-bottle py{37,38,39}-ext-django-2 py{37,38,39,310}-ext-django-3 ; Django4 is only for python 3.8+ - py{38,39,310,311}-ext-django-4 + py{38,39,310,311,312}-ext-django-4 - py{37,38,39,310,311}-ext-flask + py{37,38,39,310,311,312}-ext-flask - py{37,38,39,310,311}-ext-flask_sqlalchemy + py{37,38,39,310,311,312}-ext-flask_sqlalchemy - py{37,38,39,310,311}-ext-httplib + py{37,38,39,310,311,312}-ext-httplib - py{37,38,39,310,311}-ext-httpx + py{37,38,39,310,311,312}-ext-httpx - py{37,38,39,310,311}-ext-pg8000 + py{37,38,39,310,311,312}-ext-pg8000 - py{37,38,39,310,311}-ext-psycopg2 + py{37,38,39,310,311,312}-ext-psycopg2 - py{37,38,39,310,311}-ext-pymysql + py{37,38,39,310,311,312}-ext-pymysql - py{37,38,39,310,311}-ext-pynamodb + py{37,38,39,310,311,312}-ext-pynamodb - py{37,38,39,310,311}-ext-requests + py{37,38,39,310,311,312}-ext-requests - py{37,38,39,310,311}-ext-sqlalchemy + py{37,38,39,310,311,312}-ext-sqlalchemy - py{37,38,39,310,311}-ext-sqlalchemy_core + py{37,38,39,310,311,312}-ext-sqlalchemy_core - py{37,38,39,310,311}-ext-sqlite3 + py{37,38,39,310,311,312}-ext-sqlite3 [testenv] passenv = TOXENV,CI,CODECOV_* @@ -56,7 +56,10 @@ deps = wrapt ; Python 3.5+ only deps - py{37,38,39,310,311}: pytest-asyncio + py{37,38,39,310,311,312}: pytest-asyncio + + ; For pkg_resources + py{37,38,39,310,311,312}: setuptools ext-aiobotocore: aiobotocore >= 0.10.0 ext-aiobotocore: pytest-asyncio @@ -89,7 +92,7 @@ deps = ext-django-4: Django >=4.0,<5.0 ext-django: django-fake-model - py{37,38,39,310,311}-ext-pynamodb: pynamodb >=3.3.1 + py{37,38,39,310,311,312}-ext-pynamodb: pynamodb >=3.3.1 ext-psycopg2: psycopg2 ext-psycopg2: testing.postgresql @@ -97,7 +100,7 @@ deps = ext-pg8000: pg8000 <= 1.20.0 ext-pg8000: testing.postgresql - py{37,38,39,310,311}-ext-pymysql: pymysql >= 1.0.0 + py{37,38,39,310,311,312}-ext-pymysql: pymysql >= 1.0.0 setenv = DJANGO_SETTINGS_MODULE = tests.ext.django.app.settings @@ -107,7 +110,7 @@ setenv = commands = coverage erase - py{37,38,39,310,311}-core: coverage run --append --source aws_xray_sdk -m pytest --ignore tests/ext {posargs} + py{37,38,39,310,311,312}-core: coverage run --append --source aws_xray_sdk -m pytest --ignore tests/ext {posargs} ext-aiobotocore: coverage run --append --source aws_xray_sdk -m pytest tests/ext/aiobotocore {posargs} @@ -139,7 +142,7 @@ commands = ext-sqlalchemy: coverage run --append --source aws_xray_sdk -m pytest tests/ext/sqlalchemy {posargs} - py{37,38,39,310,311}-ext-sqlalchemy_core: coverage run --append --source aws_xray_sdk -m pytest tests/ext/sqlalchemy_core {posargs} + py{37,38,39,310,311,312}-ext-sqlalchemy_core: coverage run --append --source aws_xray_sdk -m pytest tests/ext/sqlalchemy_core {posargs} ext-sqlite3: coverage run --append --source aws_xray_sdk -m pytest tests/ext/sqlite3 {posargs}