diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 04373c7c..5b046c4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,10 +9,10 @@ on: jobs: build: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 strategy: matrix: - python-version: [2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, '3.10', 3.11] + python-version: [3.5, 3.6, 3.7, 3.8, 3.9, '3.10', 3.11] framework: - FLASK_VERSION=0.12.5 Werkzeug\>=0.7,\<1.0 - FLASK_VERSION=1.1.4 @@ -22,7 +22,6 @@ jobs: - DJANGO_VERSION=3.2.18 - DJANGO_VERSION=4.0.10 - DJANGO_VERSION=4.1.7 - - TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - TWISTED_VERSION=20.3.0 - TWISTED_VERSION=21.7.0 - TWISTED_VERSION=22.10.0 @@ -35,12 +34,6 @@ jobs: exclude: # Test frameworks on the python versions they support, according to pypi registry # Flask - - framework: FLASK_VERSION=1.1.4 - python-version: 3.4 - - framework: FLASK_VERSION=2.2.3 - python-version: 2.7 - - framework: FLASK_VERSION=2.2.3 - python-version: 3.4 - framework: FLASK_VERSION=2.2.3 python-version: 3.5 - framework: FLASK_VERSION=2.2.3 @@ -55,108 +48,43 @@ jobs: python-version: '3.10' - framework: DJANGO_VERSION=1.11.29 python-version: 3.11 - - framework: DJANGO_VERSION=2.2.28 - python-version: 2.7 - - framework: DJANGO_VERSION=2.2.28 - python-version: 3.4 - - framework: DJANGO_VERSION=3.2.18 - python-version: 2.7 - - framework: DJANGO_VERSION=3.2.18 - python-version: 3.4 - framework: DJANGO_VERSION=3.2.18 python-version: 3.5 - - framework: DJANGO_VERSION=4.0.10 - python-version: 2.7 - - framework: DJANGO_VERSION=4.0.10 - python-version: 3.4 - framework: DJANGO_VERSION=4.0.10 python-version: 3.5 - framework: DJANGO_VERSION=4.0.10 python-version: 3.6 - framework: DJANGO_VERSION=4.0.10 python-version: 3.7 - - framework: DJANGO_VERSION=4.1.7 - python-version: 2.7 - - framework: DJANGO_VERSION=4.1.7 - python-version: 3.4 - framework: DJANGO_VERSION=4.1.7 python-version: 3.5 - framework: DJANGO_VERSION=4.1.7 python-version: 3.6 - framework: DJANGO_VERSION=4.1.7 python-version: 3.7 - + # Twisted - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: 3.4 - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: 3.5 - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: 3.6 - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: 3.7 - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: 3.8 - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: 3.9 - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: '3.10' - - framework: TWISTED_VERSION=17.1.0 treq==16.12.0 zope.interface==4.5.0 - python-version: 3.11 - - framework: TWISTED_VERSION=20.3.0 - python-version: 2.7 - - framework: TWISTED_VERSION=20.3.0 - python-version: 3.4 - framework: TWISTED_VERSION=20.3.0 python-version: 3.11 - - framework: TWISTED_VERSION=21.7.0 - python-version: 2.7 - - framework: TWISTED_VERSION=21.7.0 - python-version: 3.4 - framework: TWISTED_VERSION=21.7.0 python-version: 3.5 - - framework: TWISTED_VERSION=22.10.0 - python-version: 2.7 - - framework: TWISTED_VERSION=22.10.0 - python-version: 3.4 - framework: TWISTED_VERSION=22.10.0 python-version: 3.5 - framework: TWISTED_VERSION=22.10.0 python-version: 3.6 - + # Starlette - - framework: STARLETTE_VERSION=0.12.13 httpx==0.18.1 python-multipart==0.0.5 - python-version: 2.7 - - framework: STARLETTE_VERSION=0.12.13 httpx==0.18.1 python-multipart==0.0.5 - python-version: 3.4 - framework: STARLETTE_VERSION=0.12.13 httpx==0.18.1 python-multipart==0.0.5 python-version: 3.5 - - framework: STARLETTE_VERSION=0.14.2 httpx==0.18.1 python-multipart==0.0.5 - python-version: 2.7 - - framework: STARLETTE_VERSION=0.14.2 httpx==0.18.1 python-multipart==0.0.5 - python-version: 3.4 - framework: STARLETTE_VERSION=0.14.2 httpx==0.18.1 python-multipart==0.0.5 python-version: 3.5 - + # Fastapi - - framework: FASTAPI_VERSION=0.40.0 httpx==0.18.1 python-multipart==0.0.5 - python-version: 2.7 - - framework: FASTAPI_VERSION=0.40.0 httpx==0.18.1 python-multipart==0.0.5 - python-version: 3.4 - framework: FASTAPI_VERSION=0.40.0 httpx==0.18.1 python-multipart==0.0.5 python-version: 3.5 - - framework: FASTAPI_VERSION=0.50.0 httpx==0.18.1 python-multipart==0.0.5 - python-version: 2.7 - - framework: FASTAPI_VERSION=0.50.0 httpx==0.18.1 python-multipart==0.0.5 - python-version: 3.4 - framework: FASTAPI_VERSION=0.50.0 httpx==0.18.1 python-multipart==0.0.5 python-version: 3.5 - - - framework: FASTAPI_VERSION=0.63.0 httpx==0.18.1 python-multipart==0.0.5 - python-version: 2.7 - - framework: FASTAPI_VERSION=0.63.0 httpx==0.18.1 python-multipart==0.0.5 - python-version: 3.4 - framework: FASTAPI_VERSION=0.63.0 httpx==0.18.1 python-multipart==0.0.5 python-version: 3.5 @@ -170,21 +98,6 @@ jobs: with: python-version: ${{ matrix.python-version }} - #- name: Install setuptools for 2.7,3.4 - # run: pip install setuptools==39.2.0 --force-reinstall - - - name: Install Python 2 dependencies - if: ${{ contains(matrix.python-version, '2.7') }} - # certifi dropped support for Python 2 in 2020.4.5.2 but only started - # using Python 3 syntax in 2022.5.18. 2021.10.8 is the last release with - # Python 2 support. - run: pip install certifi==2021.10.8 requests==2.27.1 incremental==21.3.0 - - - name: Install Python 3.4 dependencies - if: ${{ contains(matrix.python-version, '3.4') }} - # certifi uses the 'typing' from Python 3.5 module starting in 2022.5.18 - run: pip install six==1.16.0 certifi==2021.10.8 requests==2.21.0 "typing-extensions<4" incremental==21.3.0 blinker==1.4 WebOb==1.8.7 - - name: Install Python 3.5 dependencies if: ${{ contains(matrix.python-version, '3.5') }} # typing-extensions dropped support for Python 3.5 in version 4 @@ -193,7 +106,7 @@ jobs: - name: Install Python 3.6 dependencies if: ${{ contains(matrix.python-version, '3.6') }} # typing-extensions dropped support for Python 3.6 in version 4.2 - run: pip install six==1.16.0 "typing-extensions<4.2" requests==2.27.0 + run: pip install six==1.16.0 "typing-extensions<4.2" requests==2.27.0 blinker==1.5 - name: Set the framework run: echo ${{ matrix.framework }} >> $GITHUB_ENV