From f724480a258a84a52ee8c87d004db7314522c260 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Tue, 31 May 2022 15:08:36 -0500 Subject: [PATCH 1/7] Pinned Python 2 CI tests to legacy version of dependencies --- .github/workflows/ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d041338c..e4fda28b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -205,6 +205,13 @@ jobs: - name: Install dependencies 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 + - name: Set the framework run: echo ${{ matrix.framework }} >> $GITHUB_ENV From dfcb506fe71a6d8f10e1cb0b42defc274121ae64 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Tue, 31 May 2022 15:57:45 -0500 Subject: [PATCH 2/7] Pinned Python 3.4 CI tests to legacy version of dependencies --- .github/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e4fda28b..2b62c387 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -212,6 +212,11 @@ jobs: # Python 2 support. run: pip install certifi==2021.10.8 + - 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 certifi==2021.10.8 + - name: Set the framework run: echo ${{ matrix.framework }} >> $GITHUB_ENV From 9a78c5ff21bc19f14cfe550f57d9688519bbb24f Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Tue, 31 May 2022 16:10:59 -0500 Subject: [PATCH 3/7] Pinned Python 3.4 CI tests to legacy version of typing-extensions --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2b62c387..644198a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -215,7 +215,7 @@ jobs: - 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 certifi==2021.10.8 + run: pip install certifi==2021.10.8 typing-extensions==3.10.0.1 - name: Set the framework run: echo ${{ matrix.framework }} >> $GITHUB_ENV From d721060cfa043e2fb41156c14ae5052ed626d8b9 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Tue, 31 May 2022 16:26:53 -0500 Subject: [PATCH 4/7] Moved dependency updates after framework installation --- .github/workflows/ci.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 644198a3..707b6fde 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -205,18 +205,6 @@ jobs: - name: Install dependencies 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 - - - 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 certifi==2021.10.8 typing-extensions==3.10.0.1 - - name: Set the framework run: echo ${{ matrix.framework }} >> $GITHUB_ENV @@ -244,5 +232,17 @@ jobs: if: ${{ contains(matrix.framework, 'FASTAPI_VERSION') }} run: pip install fastapi==$FASTAPI_VERSION + - 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 + + - 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 certifi==2021.10.8 typing-extensions==3.10.0.1 + - name: Run tests run: python setup.py test From cc7c80eed81e1f82cee9c6b995db9a964da3e5fc Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Thu, 2 Jun 2022 06:10:56 -0500 Subject: [PATCH 5/7] Added typing-extensions to setup.py tests_require --- .github/workflows/ci.yml | 2 +- setup.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 707b6fde..f25de404 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -242,7 +242,7 @@ jobs: - 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 certifi==2021.10.8 typing-extensions==3.10.0.1 + run: pip install certifi==2021.10.8 - name: Run tests run: python setup.py test diff --git a/setup.py b/setup.py index 165391d5..40361bd4 100644 --- a/setup.py +++ b/setup.py @@ -22,6 +22,8 @@ 'unittest2', 'mock<=3.0.5; python_version < "3.3"', 'enum34; python_version < "3.4"', + 'typing-extensions<4; python_version < "3.6"', + 'typing-extensions<4.2; python_version == "3.6"', 'httpx; python_version >= "3.6"', 'aiocontextvars; python_version == "3.6"' ] From 3645bc9f309f9b1e6ff48a3a6b771e3cb5f406e5 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Mon, 6 Jun 2022 12:18:29 -0500 Subject: [PATCH 6/7] Moved indirect dependencies fixes to CI run not setup.py tests_require. They should exist in the environment and not be overridden by setuptools. --- .github/workflows/ci.yml | 12 +++++++++++- setup.py | 2 -- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f25de404..40c3b311 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -242,7 +242,17 @@ jobs: - 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 certifi==2021.10.8 + run: pip install certifi==2021.10.8 typing-extensions<4 + + - name: Install Python 3.5 dependencies + if: ${{ contains(matrix.python-version, '3.5') }} + # typing-extensions dropped support for Python 3.5 in version 4 + run: pip install typing-extensions<4 + + - 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 typing-extensions<4.2 - name: Run tests run: python setup.py test diff --git a/setup.py b/setup.py index 40361bd4..165391d5 100644 --- a/setup.py +++ b/setup.py @@ -22,8 +22,6 @@ 'unittest2', 'mock<=3.0.5; python_version < "3.3"', 'enum34; python_version < "3.4"', - 'typing-extensions<4; python_version < "3.6"', - 'typing-extensions<4.2; python_version == "3.6"', 'httpx; python_version >= "3.6"', 'aiocontextvars; python_version == "3.6"' ] From 484427b7b244cdcc977c1a14e734e13bf5a01128 Mon Sep 17 00:00:00 2001 From: Daniel Morell Date: Mon, 6 Jun 2022 12:23:07 -0500 Subject: [PATCH 7/7] Fixed missing quotes --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 40c3b311..57f004a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -242,17 +242,17 @@ jobs: - 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 certifi==2021.10.8 typing-extensions<4 + run: pip install certifi==2021.10.8 "typing-extensions<4" - name: Install Python 3.5 dependencies if: ${{ contains(matrix.python-version, '3.5') }} # typing-extensions dropped support for Python 3.5 in version 4 - run: pip install typing-extensions<4 + run: pip install "typing-extensions<4" - 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 typing-extensions<4.2 + run: pip install "typing-extensions<4.2" - name: Run tests run: python setup.py test