]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Exclude broken argcomplete 3.7.1 from CI nox install
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 4 Aug 2026 20:47:04 +0000 (16:47 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 4 Aug 2026 20:47:04 +0000 (16:47 -0400)
argcomplete 3.7.1, released 2026-08-04, declares requires-python >=3.8
but its completers module uses PEP 585 and PEP 604 syntax in class body
annotations without ``from __future__ import annotations``.  As
argcomplete is an unconditional dependency of nox, this makes ``import
nox`` fail outright on Python 3.8 and 3.9, so every job on those
interpreters errors before the noxfile is even loaded.

Pinning nox itself does not help, as all versions in range depend on
``argcomplete<4,>=1.9.4``, which resolves to 3.7.1 regardless; the
constraint has to be on argcomplete.  The exclusion is version exact so
that an upstream fix is picked up automatically, and is a no-op on
Python 3.10 and above.

Reported upstream at https://github.com/kislyuk/argcomplete/issues/559

Change-Id: I02d92ae9dcdf7cf5ed2b836a717ec04b2cc1a3bf

.github/workflows/run-on-pr.yaml
.github/workflows/run-test.yaml

index 4e54a762c0fced7672b4d69f80b01126c973be24..1ceb176247a20dafe51560ab1ed7301b75622860 100644 (file)
@@ -52,7 +52,9 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
-          pip install --upgrade nox setuptools
+          # argcomplete 3.7.1 (a nox dependency) declares requires-python
+          # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+          pip install --upgrade nox setuptools "argcomplete!=3.7.1"
           pip list
 
       - name: Run tests
@@ -87,7 +89,9 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
-          pip install --upgrade nox setuptools
+          # argcomplete 3.7.1 (a nox dependency) declares requires-python
+          # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+          pip install --upgrade nox setuptools "argcomplete!=3.7.1"
           pip list
 
       - name: Run nox
index c0cfef0a3facf1aa93b61c9c5bb373c612bad4b5..d76f899c9021ff5aa31c2bfa2e3bca7715b3bac5 100644 (file)
@@ -120,7 +120,9 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
-          pip install --upgrade nox setuptools
+          # argcomplete 3.7.1 (a nox dependency) declares requires-python
+          # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+          pip install --upgrade nox setuptools "argcomplete!=3.7.1"
           pip list
 
       - name: Run tests
@@ -158,7 +160,9 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
-          pip install --upgrade nox setuptools
+          # argcomplete 3.7.1 (a nox dependency) declares requires-python
+          # >=3.8 but uses py3.10+ only syntax, breaking nox on 3.8 / 3.9
+          pip install --upgrade nox setuptools "argcomplete!=3.7.1"
           pip list
 
       - name: Run nox