From 7dba1f2be3279ac6b9b5bca5d537d5ae105af474 Mon Sep 17 00:00:00 2001 From: Tony Xiao Date: Fri, 9 Dec 2022 16:50:43 -0500 Subject: [PATCH] fix(ci): Github action checks failing The checks are failing for 2 reasons 1. Github actions dropped python3.7 support on the latest hosted runners. https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 2. New release of tox was validation the python version in the environment name and the trailing framework version being used in the environment name was being treated as a python version and validated causing an issue. --- .../workflows/test-integration-aiohttp.yml | 6 +- .github/workflows/test-integration-asgi.yml | 6 +- .../workflows/test-integration-aws_lambda.yml | 6 +- .github/workflows/test-integration-beam.yml | 6 +- .github/workflows/test-integration-boto3.yml | 6 +- .github/workflows/test-integration-bottle.yml | 6 +- .github/workflows/test-integration-celery.yml | 6 +- .../workflows/test-integration-chalice.yml | 6 +- .github/workflows/test-integration-django.yml | 6 +- .github/workflows/test-integration-falcon.yml | 6 +- .../workflows/test-integration-fastapi.yml | 6 +- .github/workflows/test-integration-flask.yml | 6 +- .github/workflows/test-integration-gcp.yml | 6 +- .github/workflows/test-integration-httpx.yml | 6 +- .../workflows/test-integration-pure_eval.yml | 6 +- .../workflows/test-integration-pymongo.yml | 6 +- .../workflows/test-integration-pyramid.yml | 6 +- .github/workflows/test-integration-quart.yml | 6 +- .github/workflows/test-integration-redis.yml | 6 +- .../test-integration-rediscluster.yml | 6 +- .../workflows/test-integration-requests.yml | 6 +- .github/workflows/test-integration-rq.yml | 6 +- .github/workflows/test-integration-sanic.yml | 6 +- .../workflows/test-integration-sqlalchemy.yml | 6 +- .../workflows/test-integration-starlette.yml | 6 +- .../workflows/test-integration-tornado.yml | 6 +- .../workflows/test-integration-trytond.yml | 6 +- .../split-tox-gh-actions.py | 6 +- tox.ini | 342 +++++++++--------- 29 files changed, 311 insertions(+), 199 deletions(-) diff --git a/.github/workflows/test-integration-aiohttp.yml b/.github/workflows/test-integration-aiohttp.yml index 62f0a48ebf..aee8601297 100644 --- a/.github/workflows/test-integration-aiohttp.yml +++ b/.github/workflows/test-integration-aiohttp.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-asgi.yml b/.github/workflows/test-integration-asgi.yml index 069ebbf3aa..d8295ebd2e 100644 --- a/.github/workflows/test-integration-asgi.yml +++ b/.github/workflows/test-integration-asgi.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-aws_lambda.yml b/.github/workflows/test-integration-aws_lambda.yml index 5e40fed7e6..7a12f8c597 100644 --- a/.github/workflows/test-integration-aws_lambda.yml +++ b/.github/workflows/test-integration-aws_lambda.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-beam.yml b/.github/workflows/test-integration-beam.yml index 55f8e015be..5dd45c0293 100644 --- a/.github/workflows/test-integration-beam.yml +++ b/.github/workflows/test-integration-beam.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-boto3.yml b/.github/workflows/test-integration-boto3.yml index 9b8747c5f8..0194f024c4 100644 --- a/.github/workflows/test-integration-boto3.yml +++ b/.github/workflows/test-integration-boto3.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.6","3.7","3.8"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-bottle.yml b/.github/workflows/test-integration-bottle.yml index 834638213b..13745734df 100644 --- a/.github/workflows/test-integration-bottle.yml +++ b/.github/workflows/test-integration-bottle.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-celery.yml b/.github/workflows/test-integration-celery.yml index 17feb5a4ba..e3e427d197 100644 --- a/.github/workflows/test-integration-celery.yml +++ b/.github/workflows/test-integration-celery.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-chalice.yml b/.github/workflows/test-integration-chalice.yml index 36067fc7ca..60bf1f443b 100644 --- a/.github/workflows/test-integration-chalice.yml +++ b/.github/workflows/test-integration-chalice.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.6","3.7","3.8"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-django.yml b/.github/workflows/test-integration-django.yml index db659728a8..a024566d97 100644 --- a/.github/workflows/test-integration-django.yml +++ b/.github/workflows/test-integration-django.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] services: postgres: image: postgres diff --git a/.github/workflows/test-integration-falcon.yml b/.github/workflows/test-integration-falcon.yml index af4c701e1a..44592b5ed0 100644 --- a/.github/workflows/test-integration-falcon.yml +++ b/.github/workflows/test-integration-falcon.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-fastapi.yml b/.github/workflows/test-integration-fastapi.yml index 6352d134e4..be9e3be246 100644 --- a/.github/workflows/test-integration-fastapi.yml +++ b/.github/workflows/test-integration-fastapi.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-flask.yml b/.github/workflows/test-integration-flask.yml index 8e353814ff..6a3162b079 100644 --- a/.github/workflows/test-integration-flask.yml +++ b/.github/workflows/test-integration-flask.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-gcp.yml b/.github/workflows/test-integration-gcp.yml index 8aa4e12b7a..cb7227c0cf 100644 --- a/.github/workflows/test-integration-gcp.yml +++ b/.github/workflows/test-integration-gcp.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-httpx.yml b/.github/workflows/test-integration-httpx.yml index f9e1b4ec31..5590ed829d 100644 --- a/.github/workflows/test-integration-httpx.yml +++ b/.github/workflows/test-integration-httpx.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-pure_eval.yml b/.github/workflows/test-integration-pure_eval.yml index ef39704c43..e179273a80 100644 --- a/.github/workflows/test-integration-pure_eval.yml +++ b/.github/workflows/test-integration-pure_eval.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-pymongo.yml b/.github/workflows/test-integration-pymongo.yml index b2e82b7fb3..a464b5af5a 100644 --- a/.github/workflows/test-integration-pymongo.yml +++ b/.github/workflows/test-integration-pymongo.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-pyramid.yml b/.github/workflows/test-integration-pyramid.yml index bbd017b66f..6bbc047fa1 100644 --- a/.github/workflows/test-integration-pyramid.yml +++ b/.github/workflows/test-integration-pyramid.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-quart.yml b/.github/workflows/test-integration-quart.yml index de7671dbda..354a29524f 100644 --- a/.github/workflows/test-integration-quart.yml +++ b/.github/workflows/test-integration-quart.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-redis.yml b/.github/workflows/test-integration-redis.yml index 60352088cd..4c61803cbe 100644 --- a/.github/workflows/test-integration-redis.yml +++ b/.github/workflows/test-integration-redis.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.7","3.8","3.9"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-rediscluster.yml b/.github/workflows/test-integration-rediscluster.yml index 5866637176..8ea4ebfe5c 100644 --- a/.github/workflows/test-integration-rediscluster.yml +++ b/.github/workflows/test-integration-rediscluster.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.7","3.8","3.9"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-requests.yml b/.github/workflows/test-integration-requests.yml index 7e33b446db..3ee94dfa7f 100644 --- a/.github/workflows/test-integration-requests.yml +++ b/.github/workflows/test-integration-requests.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.8","3.9"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-rq.yml b/.github/workflows/test-integration-rq.yml index e2a0ebaff8..db9d0c08ca 100644 --- a/.github/workflows/test-integration-rq.yml +++ b/.github/workflows/test-integration-rq.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-sanic.yml b/.github/workflows/test-integration-sanic.yml index aa99f54a90..ffbbbc9d80 100644 --- a/.github/workflows/test-integration-sanic.yml +++ b/.github/workflows/test-integration-sanic.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-sqlalchemy.yml b/.github/workflows/test-integration-sqlalchemy.yml index ea36e0f562..ce9050457f 100644 --- a/.github/workflows/test-integration-sqlalchemy.yml +++ b/.github/workflows/test-integration-sqlalchemy.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["2.7","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-starlette.yml b/.github/workflows/test-integration-starlette.yml index a35544e9e9..13fa24066c 100644 --- a/.github/workflows/test-integration-starlette.yml +++ b/.github/workflows/test-integration-starlette.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-tornado.yml b/.github/workflows/test-integration-tornado.yml index 17c1f18a8e..9d8057ab8f 100644 --- a/.github/workflows/test-integration-tornado.yml +++ b/.github/workflows/test-integration-tornado.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test-integration-trytond.yml b/.github/workflows/test-integration-trytond.yml index 12771ffd21..ef7d6b41d1 100644 --- a/.github/workflows/test-integration-trytond.yml +++ b/.github/workflows/test-integration-trytond.yml @@ -32,7 +32,11 @@ jobs: strategy: matrix: python-version: ["3.5","3.6","3.7","3.8","3.9","3.10"] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] steps: - uses: actions/checkout@v3 diff --git a/scripts/split-tox-gh-actions/split-tox-gh-actions.py b/scripts/split-tox-gh-actions/split-tox-gh-actions.py index 6e0018d0ff..6e0719ad53 100755 --- a/scripts/split-tox-gh-actions/split-tox-gh-actions.py +++ b/scripts/split-tox-gh-actions/split-tox-gh-actions.py @@ -34,7 +34,11 @@ strategy: matrix: python-version: [{{ python-version }}] - os: [ubuntu-latest] + # python3.6 reached EOL and is no longer being supported on + # new versions of hosted runners on Github Actions + # ubuntu-20.04 is the last version that supported python3.6 + # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 + os: [ubuntu-20.04] """ diff --git a/tox.ini b/tox.ini index 98505caab1..cbe52750ae 100644 --- a/tox.ini +++ b/tox.ini @@ -9,97 +9,97 @@ envlist = py{2.7,3.4,3.5,3.6,3.7,3.8,3.9,3.10} # === Integrations === - # General format is {pythonversion}-{integrationname}-{frameworkversion} + # General format is {pythonversion}-{integrationname}-v{frameworkversion} # 1 blank line between different integrations # Each framework version should only be mentioned once. I.e: - # {py3.7,py3.10}-django-{3.2} - # {py3.10}-django-{4.0} + # {py3.7,py3.10}-django-v{3.2} + # {py3.10}-django-v{4.0} # instead of: - # {py3.7}-django-{3.2} - # {py3.7,py3.10}-django-{3.2,4.0} + # {py3.7}-django-v{3.2} + # {py3.7,py3.10}-django-v{3.2,4.0} # Django 1.x - {py2.7,py3.5}-django-{1.8,1.9,1.10} - {py2.7,py3.5,py3.6,py3.7}-django-{1.11} + {py2.7,py3.5}-django-v{1.8,1.9,1.10} + {py2.7,py3.5,py3.6,py3.7}-django-v{1.11} # Django 2.x - {py3.5,py3.6,py3.7}-django-{2.0,2.1} - {py3.5,py3.6,py3.7,py3.8,py3.9}-django-{2.2} + {py3.5,py3.6,py3.7}-django-v{2.0,2.1} + {py3.5,py3.6,py3.7,py3.8,py3.9}-django-v{2.2} # Django 3.x - {py3.6,py3.7,py3.8,py3.9}-django-{3.0,3.1} - {py3.6,py3.7,py3.8,py3.9,py3.10}-django-{3.2} + {py3.6,py3.7,py3.8,py3.9}-django-v{3.0,3.1} + {py3.6,py3.7,py3.8,py3.9,py3.10}-django-v{3.2} # Django 4.x - {py3.8,py3.9,py3.10}-django-{4.0,4.1} + {py3.8,py3.9,py3.10}-django-v{4.0,4.1} - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-flask-{0.11,0.12,1.0} - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-flask-1.1 - {py3.6,py3.8,py3.9,py3.10}-flask-2.0 + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-flask-v{0.11,0.12,1.0} + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-flask-v1.1 + {py3.6,py3.8,py3.9,py3.10}-flask-v2.0 {py3.7,py3.8,py3.9,py3.10}-asgi - {py3.7,py3.8,py3.9,py3.10}-starlette-{0.19.1,0.20,0.21} + {py3.7,py3.8,py3.9,py3.10}-starlette-v{0.19.1,0.20,0.21} {py3.7,py3.8,py3.9,py3.10}-fastapi {py3.7,py3.8,py3.9,py3.10}-quart - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-bottle-0.12 + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-bottle-v0.12 - {py2.7,py3.5,py3.6,py3.7}-falcon-1.4 - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-falcon-2.0 + {py2.7,py3.5,py3.6,py3.7}-falcon-v1.4 + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-falcon-v2.0 - {py3.5,py3.6,py3.7}-sanic-{0.8,18} - {py3.6,py3.7}-sanic-19 - {py3.6,py3.7,py3.8}-sanic-20 - {py3.7,py3.8,py3.9,py3.10}-sanic-21 - {py3.7,py3.8,py3.9,py3.10}-sanic-22 + {py3.5,py3.6,py3.7}-sanic-v{0.8,18} + {py3.6,py3.7}-sanic-v19 + {py3.6,py3.7,py3.8}-sanic-v20 + {py3.7,py3.8,py3.9,py3.10}-sanic-v21 + {py3.7,py3.8,py3.9,py3.10}-sanic-v22 - {py2.7}-celery-3 - {py2.7,py3.5,py3.6}-celery-{4.1,4.2} - {py2.7,py3.5,py3.6,py3.7,py3.8}-celery-{4.3,4.4} - {py3.6,py3.7,py3.8}-celery-{5.0} - {py3.7,py3.8,py3.9,py3.10}-celery-{5.1,5.2} + {py2.7}-celery-v3 + {py2.7,py3.5,py3.6}-celery-v{4.1,4.2} + {py2.7,py3.5,py3.6,py3.7,py3.8}-celery-v{4.3,4.4} + {py3.6,py3.7,py3.8}-celery-v{5.0} + {py3.7,py3.8,py3.9,py3.10}-celery-v{5.1,5.2} - py3.7-beam-{2.12,2.13,2.32,2.33} + py3.7-beam-v{2.12,2.13,2.32,2.33} # The aws_lambda tests deploy to the real AWS and have their own matrix of Python versions. py3.7-aws_lambda py3.7-gcp - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-pyramid-{1.6,1.7,1.8,1.9,1.10} + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-pyramid-v{1.6,1.7,1.8,1.9,1.10} - {py2.7,py3.5,py3.6}-rq-{0.6,0.7,0.8,0.9,0.10,0.11} - {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-rq-{0.12,0.13,1.0,1.1,1.2,1.3} - {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-rq-{1.4,1.5} + {py2.7,py3.5,py3.6}-rq-v{0.6,0.7,0.8,0.9,0.10,0.11} + {py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-rq-v{0.12,0.13,1.0,1.1,1.2,1.3} + {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-rq-v{1.4,1.5} - py3.7-aiohttp-3.5 - {py3.7,py3.8,py3.9,py3.10}-aiohttp-3.6 + py3.7-aiohttp-v3.5 + {py3.7,py3.8,py3.9,py3.10}-aiohttp-v3.6 - {py3.7,py3.8,py3.9}-tornado-{5} - {py3.7,py3.8,py3.9,py3.10}-tornado-{6} + {py3.7,py3.8,py3.9}-tornado-v{5} + {py3.7,py3.8,py3.9,py3.10}-tornado-v{6} - {py3.5,py3.6,py3.7,py3.8,py3.9}-trytond-{4.6,5.0,5.2} - {py3.6,py3.7,py3.8,py3.9,py3.10}-trytond-{5.4} + {py3.5,py3.6,py3.7,py3.8,py3.9}-trytond-v{4.6,5.0,5.2} + {py3.6,py3.7,py3.8,py3.9,py3.10}-trytond-v{5.4} {py2.7,py3.8,py3.9}-requests {py2.7,py3.7,py3.8,py3.9}-redis - {py2.7,py3.7,py3.8,py3.9}-rediscluster-{1,2.1.0,2} + {py2.7,py3.7,py3.8,py3.9}-rediscluster-v{1,2.1.0,2} - {py2.7,py3.7,py3.8,py3.9,py3.10}-sqlalchemy-{1.2,1.3} + {py2.7,py3.7,py3.8,py3.9,py3.10}-sqlalchemy-v{1.2,1.3} {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10}-pure_eval - {py3.6,py3.7,py3.8}-chalice-{1.16,1.17,1.18,1.19,1.20} + {py3.6,py3.7,py3.8}-chalice-v{1.16,1.17,1.18,1.19,1.20} - {py2.7,py3.6,py3.7,py3.8}-boto3-{1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16} + {py2.7,py3.6,py3.7,py3.8}-boto3-v{1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16} - {py3.6,py3.7,py3.8,py3.9,py3.10}-httpx-{0.16,0.17} + {py3.6,py3.7,py3.8,py3.9,py3.10}-httpx-v{0.16,0.17} - {py2.7,py3.6}-pymongo-{3.1} - {py2.7,py3.6,py3.7,py3.8,py3.9}-pymongo-{3.12} - {py3.6,py3.7,py3.8,py3.9,py3.10}-pymongo-{4.0} - {py3.7,py3.8,py3.9,py3.10}-pymongo-{4.1,4.2} + {py2.7,py3.6}-pymongo-v{3.1} + {py2.7,py3.6,py3.7,py3.8,py3.9}-pymongo-v{3.12} + {py3.6,py3.7,py3.8,py3.9,py3.10}-pymongo-v{4.0} + {py3.7,py3.8,py3.9,py3.10}-pymongo-v{4.1,4.2} [testenv] deps = @@ -111,41 +111,41 @@ deps = py3.4: colorama==0.4.1 py3.4: watchdog==0.10.7 - django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: djangorestframework>=3.0.0,<4.0.0 - - {py3.7,py3.8,py3.9,py3.10}-django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: channels[daphne]>2 - {py3.7,py3.8,py3.9,py3.10}-django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: pytest-asyncio - {py2.7,py3.7,py3.8,py3.9,py3.10}-django-{1.11,2.2,3.0,3.1,3.2}: psycopg2-binary - - django-{1.8,1.9,1.10,1.11,2.0,2.1}: pytest-django<4.0 - django-{2.2,3.0,3.1,3.2}: pytest-django>=4.0 - django-{2.2,3.0,3.1,3.2}: Werkzeug<2.0 - - django-{4.0,4.1}: djangorestframework - django-{4.0,4.1}: pytest-asyncio - django-{4.0,4.1}: psycopg2-binary - django-{4.0,4.1}: pytest-django - django-{4.0,4.1}: Werkzeug - - django-1.8: Django>=1.8,<1.9 - django-1.9: Django>=1.9,<1.10 - django-1.10: Django>=1.10,<1.11 - django-1.11: Django>=1.11,<1.12 - django-2.0: Django>=2.0,<2.1 - django-2.1: Django>=2.1,<2.2 - django-2.2: Django>=2.2,<2.3 - django-3.0: Django>=3.0,<3.1 - django-3.1: Django>=3.1,<3.2 - django-3.2: Django>=3.2,<3.3 - django-4.0: Django>=4.0,<4.1 - django-4.1: Django>=4.1,<4.2 + django-v{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: djangorestframework>=3.0.0,<4.0.0 + + {py3.7,py3.8,py3.9,py3.10}-django-v{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: channels[daphne]>2 + {py3.7,py3.8,py3.9,py3.10}-django-v{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: pytest-asyncio + {py2.7,py3.7,py3.8,py3.9,py3.10}-django-v{1.11,2.2,3.0,3.1,3.2}: psycopg2-binary + + django-v{1.8,1.9,1.10,1.11,2.0,2.1}: pytest-django<4.0 + django-v{2.2,3.0,3.1,3.2}: pytest-django>=4.0 + django-v{2.2,3.0,3.1,3.2}: Werkzeug<2.0 + + django-v{4.0,4.1}: djangorestframework + django-v{4.0,4.1}: pytest-asyncio + django-v{4.0,4.1}: psycopg2-binary + django-v{4.0,4.1}: pytest-django + django-v{4.0,4.1}: Werkzeug + + django-v1.8: Django>=1.8,<1.9 + django-v1.9: Django>=1.9,<1.10 + django-v1.10: Django>=1.10,<1.11 + django-v1.11: Django>=1.11,<1.12 + django-v2.0: Django>=2.0,<2.1 + django-v2.1: Django>=2.1,<2.2 + django-v2.2: Django>=2.2,<2.3 + django-v3.0: Django>=3.0,<3.1 + django-v3.1: Django>=3.1,<3.2 + django-v3.2: Django>=3.2,<3.3 + django-v4.0: Django>=4.0,<4.1 + django-v4.1: Django>=4.1,<4.2 flask: flask-login - flask-0.11: Flask>=0.11,<0.12 - flask-0.12: Flask>=0.12,<0.13 - flask-1.0: Flask>=1.0,<1.1 - flask-1.1: Flask>=1.1,<1.2 - flask-2.0: Flask>=2.0,<2.1 + flask-v0.11: Flask>=0.11,<0.12 + flask-v0.12: Flask>=0.12,<0.13 + flask-v1.0: Flask>=1.0,<1.1 + flask-v1.1: Flask>=1.1,<1.2 + flask-v2.0: Flask>=2.0,<2.1 asgi: pytest-asyncio asgi: async-asgi-testclient @@ -157,10 +157,10 @@ deps = starlette: pytest-asyncio starlette: python-multipart starlette: requests - starlette-0.21: httpx - starlette-0.19.1: starlette==0.19.1 - starlette-0.20: starlette>=0.20.0,<0.21.0 - starlette-0.21: starlette>=0.21.0,<0.22.0 + starlette-v0.21: httpx + starlette-v0.19.1: starlette==0.19.1 + starlette-v0.20: starlette>=0.20.0,<0.21.0 + starlette-v0.21: starlette>=0.21.0,<0.22.0 fastapi: fastapi fastapi: httpx @@ -168,42 +168,42 @@ deps = fastapi: python-multipart fastapi: requests - bottle-0.12: bottle>=0.12,<0.13 + bottle-v0.12: bottle>=0.12,<0.13 - falcon-1.4: falcon>=1.4,<1.5 - falcon-2.0: falcon>=2.0.0rc3,<3.0 + falcon-v1.4: falcon>=1.4,<1.5 + falcon-v2.0: falcon>=2.0.0rc3,<3.0 - sanic-0.8: sanic>=0.8,<0.9 - sanic-18: sanic>=18.0,<19.0 - sanic-19: sanic>=19.0,<20.0 - sanic-20: sanic>=20.0,<21.0 - sanic-21: sanic>=21.0,<22.0 - sanic-22: sanic>=22.0,<22.9.0 + sanic-v0.8: sanic>=0.8,<0.9 + sanic-v18: sanic>=18.0,<19.0 + sanic-v19: sanic>=19.0,<20.0 + sanic-v20: sanic>=20.0,<21.0 + sanic-v21: sanic>=21.0,<22.0 + sanic-v22: sanic>=22.0,<22.9.0 sanic: aiohttp - sanic-21: sanic_testing<22 - sanic-22: sanic_testing<22.9.0 + sanic-v21: sanic_testing<22 + sanic-v22: sanic_testing<22.9.0 {py3.5,py3.6}-sanic: aiocontextvars==0.2.1 py3.5-sanic: ujson<4 - beam-2.12: apache-beam>=2.12.0, <2.13.0 - beam-2.13: apache-beam>=2.13.0, <2.14.0 - beam-2.32: apache-beam>=2.32.0, <2.33.0 - beam-2.33: apache-beam>=2.33.0, <2.34.0 + beam-v2.12: apache-beam>=2.12.0, <2.13.0 + beam-v2.13: apache-beam>=2.13.0, <2.14.0 + beam-v2.32: apache-beam>=2.32.0, <2.33.0 + beam-v2.33: apache-beam>=2.33.0, <2.34.0 beam-master: git+https://github.com/apache/beam#egg=apache-beam&subdirectory=sdks/python celery: redis - celery-3: Celery>=3.1,<4.0 - celery-4.1: Celery>=4.1,<4.2 - celery-4.2: Celery>=4.2,<4.3 - celery-4.3: Celery>=4.3,<4.4 + celery-v3: Celery>=3.1,<4.0 + celery-v4.1: Celery>=4.1,<4.2 + celery-v4.2: Celery>=4.2,<4.3 + celery-v4.3: Celery>=4.3,<4.4 # https://github.com/celery/vine/pull/29#issuecomment-689498382 celery-4.3: vine<5.0.0 # https://github.com/celery/celery/issues/6153 - celery-4.4: Celery>=4.4,<4.5,!=4.4.4 - celery-5.0: Celery>=5.0,<5.1 - celery-5.1: Celery>=5.1,<5.2 - celery-5.2: Celery>=5.2,<5.3 + celery-v4.4: Celery>=4.4,<4.5,!=4.4.4 + celery-v5.0: Celery>=5.0,<5.1 + celery-v5.1: Celery>=5.1,<5.2 + celery-v5.2: Celery>=5.2,<5.3 py3.5-celery: newrelic<6.0.0 {py3.7}-celery: importlib-metadata<5.0 @@ -213,85 +213,85 @@ deps = aws_lambda: boto3 - pyramid-1.6: pyramid>=1.6,<1.7 - pyramid-1.7: pyramid>=1.7,<1.8 - pyramid-1.8: pyramid>=1.8,<1.9 - pyramid-1.9: pyramid>=1.9,<1.10 - pyramid-1.10: pyramid>=1.10,<1.11 + pyramid-v1.6: pyramid>=1.6,<1.7 + pyramid-v1.7: pyramid>=1.7,<1.8 + pyramid-v1.8: pyramid>=1.8,<1.9 + pyramid-v1.9: pyramid>=1.9,<1.10 + pyramid-v1.10: pyramid>=1.10,<1.11 # https://github.com/jamesls/fakeredis/issues/245 - rq-{0.6,0.7,0.8,0.9,0.10,0.11,0.12}: fakeredis<1.0 - rq-{0.6,0.7,0.8,0.9,0.10,0.11,0.12}: redis<3.2.2 - rq-{0.13,1.0,1.1,1.2,1.3,1.4,1.5}: fakeredis>=1.0,<1.7.4 - - rq-0.6: rq>=0.6,<0.7 - rq-0.7: rq>=0.7,<0.8 - rq-0.8: rq>=0.8,<0.9 - rq-0.9: rq>=0.9,<0.10 - rq-0.10: rq>=0.10,<0.11 - rq-0.11: rq>=0.11,<0.12 - rq-0.12: rq>=0.12,<0.13 - rq-0.13: rq>=0.13,<0.14 - rq-1.0: rq>=1.0,<1.1 - rq-1.1: rq>=1.1,<1.2 - rq-1.2: rq>=1.2,<1.3 - rq-1.3: rq>=1.3,<1.4 - rq-1.4: rq>=1.4,<1.5 - rq-1.5: rq>=1.5,<1.6 - - aiohttp-3.4: aiohttp>=3.4.0,<3.5.0 - aiohttp-3.5: aiohttp>=3.5.0,<3.6.0 + rq-v{0.6,0.7,0.8,0.9,0.10,0.11,0.12}: fakeredis<1.0 + rq-v{0.6,0.7,0.8,0.9,0.10,0.11,0.12}: redis<3.2.2 + rq-v{0.13,1.0,1.1,1.2,1.3,1.4,1.5}: fakeredis>=1.0,<1.7.4 + + rq-v0.6: rq>=0.6,<0.7 + rq-v0.7: rq>=0.7,<0.8 + rq-v0.8: rq>=0.8,<0.9 + rq-v0.9: rq>=0.9,<0.10 + rq-v0.10: rq>=0.10,<0.11 + rq-v0.11: rq>=0.11,<0.12 + rq-v0.12: rq>=0.12,<0.13 + rq-v0.13: rq>=0.13,<0.14 + rq-v1.0: rq>=1.0,<1.1 + rq-v1.1: rq>=1.1,<1.2 + rq-v1.2: rq>=1.2,<1.3 + rq-v1.3: rq>=1.3,<1.4 + rq-v1.4: rq>=1.4,<1.5 + rq-v1.5: rq>=1.5,<1.6 + + aiohttp-v3.4: aiohttp>=3.4.0,<3.5.0 + aiohttp-v3.5: aiohttp>=3.5.0,<3.6.0 aiohttp: pytest-aiohttp - tornado-5: tornado>=5,<6 - tornado-6: tornado>=6.0a1 + tornado-v5: tornado>=5,<6 + tornado-v6: tornado>=6.0a1 - trytond-5.4: trytond>=5.4,<5.5 - trytond-5.2: trytond>=5.2,<5.3 - trytond-5.0: trytond>=5.0,<5.1 - trytond-4.6: trytond>=4.6,<4.7 + trytond-v5.4: trytond>=5.4,<5.5 + trytond-v5.2: trytond>=5.2,<5.3 + trytond-v5.0: trytond>=5.0,<5.1 + trytond-v4.6: trytond>=4.6,<4.7 - trytond-{4.6,4.8,5.0,5.2,5.4}: werkzeug<2.0 + trytond-v{4.6,4.8,5.0,5.2,5.4}: werkzeug<2.0 redis: fakeredis<1.7.4 - rediscluster-1: redis-py-cluster>=1.0.0,<2.0.0 - rediscluster-2.1.0: redis-py-cluster>=2.0.0,<2.1.1 - rediscluster-2: redis-py-cluster>=2.1.1,<3.0.0 + rediscluster-v1: redis-py-cluster>=1.0.0,<2.0.0 + rediscluster-v2.1.0: redis-py-cluster>=2.0.0,<2.1.1 + rediscluster-v2: redis-py-cluster>=2.1.1,<3.0.0 - sqlalchemy-1.2: sqlalchemy>=1.2,<1.3 - sqlalchemy-1.3: sqlalchemy>=1.3,<1.4 + sqlalchemy-v1.2: sqlalchemy>=1.2,<1.3 + sqlalchemy-v1.3: sqlalchemy>=1.3,<1.4 linters: -r linter-requirements.txt py3.8: hypothesis pure_eval: pure_eval - chalice-1.16: chalice>=1.16.0,<1.17.0 - chalice-1.17: chalice>=1.17.0,<1.18.0 - chalice-1.18: chalice>=1.18.0,<1.19.0 - chalice-1.19: chalice>=1.19.0,<1.20.0 - chalice-1.20: chalice>=1.20.0,<1.21.0 + chalice-v1.16: chalice>=1.16.0,<1.17.0 + chalice-v1.17: chalice>=1.17.0,<1.18.0 + chalice-v1.18: chalice>=1.18.0,<1.19.0 + chalice-v1.19: chalice>=1.19.0,<1.20.0 + chalice-v1.20: chalice>=1.20.0,<1.21.0 chalice: pytest-chalice==0.0.5 - boto3-1.9: boto3>=1.9,<1.10 - boto3-1.10: boto3>=1.10,<1.11 - boto3-1.11: boto3>=1.11,<1.12 - boto3-1.12: boto3>=1.12,<1.13 - boto3-1.13: boto3>=1.13,<1.14 - boto3-1.14: boto3>=1.14,<1.15 - boto3-1.15: boto3>=1.15,<1.16 - boto3-1.16: boto3>=1.16,<1.17 + boto3-v1.9: boto3>=1.9,<1.10 + boto3-v1.10: boto3>=1.10,<1.11 + boto3-v1.11: boto3>=1.11,<1.12 + boto3-v1.12: boto3>=1.12,<1.13 + boto3-v1.13: boto3>=1.13,<1.14 + boto3-v1.14: boto3>=1.14,<1.15 + boto3-v1.15: boto3>=1.15,<1.16 + boto3-v1.16: boto3>=1.16,<1.17 - httpx-0.16: httpx>=0.16,<0.17 - httpx-0.17: httpx>=0.17,<0.18 + httpx-v0.16: httpx>=0.16,<0.17 + httpx-v0.17: httpx>=0.17,<0.18 pymongo: mockupdb - pymongo-3.1: pymongo>=3.1,<3.2 - pymongo-3.12: pymongo>=3.12,<4.0 - pymongo-4.0: pymongo>=4.0,<4.1 - pymongo-4.1: pymongo>=4.1,<4.2 - pymongo-4.2: pymongo>=4.2,<4.3 + pymongo-v3.1: pymongo>=3.1,<3.2 + pymongo-v3.12: pymongo>=3.12,<4.0 + pymongo-v4.0: pymongo>=4.0,<4.1 + pymongo-v4.1: pymongo>=4.1,<4.2 + pymongo-v4.2: pymongo>=4.2,<4.3 setenv = PYTHONDONTWRITEBYTECODE=1 @@ -359,14 +359,14 @@ basepython = commands = ; https://github.com/pytest-dev/pytest/issues/5532 - {py3.5,py3.6,py3.7,py3.8,py3.9}-flask-{0.11,0.12}: pip install pytest<5 - {py3.6,py3.7,py3.8,py3.9}-flask-{0.11}: pip install Werkzeug<2 + {py3.5,py3.6,py3.7,py3.8,py3.9}-flask-v{0.11,0.12}: pip install pytest<5 + {py3.6,py3.7,py3.8,py3.9}-flask-v{0.11}: pip install Werkzeug<2 ; https://github.com/pallets/flask/issues/4455 - {py3.7,py3.8,py3.9,py3.10}-flask-{0.11,0.12,1.0,1.1}: pip install "itsdangerous>=0.24,<2.0" "markupsafe<2.0.0" "jinja2<3.1.1" + {py3.7,py3.8,py3.9,py3.10}-flask-v{0.11,0.12,1.0,1.1}: pip install "itsdangerous>=0.24,<2.0" "markupsafe<2.0.0" "jinja2<3.1.1" ; https://github.com/more-itertools/more-itertools/issues/578 - py3.5-flask-{0.11,0.12}: pip install more-itertools<8.11.0 + py3.5-flask-v{0.11,0.12}: pip install more-itertools<8.11.0 ; use old pytest for old Python versions: {py2.7,py3.4,py3.5}: pip install pytest-forked==1.1.3