@@ -300,6 +300,49 @@ jobs:
300
300
- name : Run cattrs tests
301
301
run : cd cattrs; pdm run pytest tests
302
302
303
+ sqlalchemy :
304
+ name : sqlalchemy tests
305
+ needs : skip-schedule-on-fork
306
+ strategy :
307
+ fail-fast : false
308
+ matrix :
309
+ # PyPy is deliberately omitted here, since SQLAlchemy's tests
310
+ # fail on PyPy for reasons unrelated to typing_extensions.
311
+ python-version : [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
312
+ checkout-ref : [ "main", "rel_2_0" ]
313
+ # sqlalchemy tests fail when using the Ubuntu 24.04 runner
314
+ # https://github.com/sqlalchemy/sqlalchemy/commit/8d73205f352e68c6603e90494494ef21027ec68f
315
+ runs-on : ubuntu-22.04
316
+ timeout-minutes : 60
317
+ steps :
318
+ - name : Setup Python
319
+ uses : actions/setup-python@v5
320
+ with :
321
+ python-version : ${{ matrix.python-version }}
322
+ allow-prereleases : true
323
+ - name : Install uv
324
+ run : curl -LsSf https://astral.sh/uv/install.sh | sh
325
+ - name : Checkout sqlalchemy
326
+ run : git clone -b ${{ matrix.checkout-ref }} --depth=1 https://github.com/sqlalchemy/sqlalchemy.git || git clone -b ${{ matrix.checkout-ref }} --depth=1 https://github.com/sqlalchemy/sqlalchemy.git
327
+ - name : Checkout typing_extensions
328
+ uses : actions/checkout@v4
329
+ with :
330
+ path : typing-extensions-latest
331
+ - name : Install sqlalchemy test dependencies
332
+ run : uv pip install --system tox setuptools
333
+ - name : List installed dependencies
334
+ # Note: tox installs SQLAlchemy and its dependencies in a different isolated
335
+ # environment before running the tests. To see the dependencies installed
336
+ # in the test environment, look for the line 'freeze> python -m pip freeze --all'
337
+ # in the output of the test step below.
338
+ run : uv pip list
339
+ - name : Run sqlalchemy tests
340
+ run : |
341
+ cd sqlalchemy
342
+ tox -e github-nocext \
343
+ --force-dep "typing-extensions @ file://$(pwd)/../typing-extensions-latest" \
344
+ -- -q --nomemory --notimingintensive
345
+
303
346
create-issue-on-failure :
304
347
name : Create an issue if daily tests failed
305
348
runs-on : ubuntu-latest
@@ -312,6 +355,7 @@ jobs:
312
355
- typed-argument-parser
313
356
- mypy
314
357
- cattrs
358
+ - sqlalchemy
315
359
316
360
if : >-
317
361
${{
@@ -326,6 +370,7 @@ jobs:
326
370
|| needs.typed-argument-parser.result == 'failure'
327
371
|| needs.mypy.result == 'failure'
328
372
|| needs.cattrs.result == 'failure'
373
+ || needs.sqlalchemy.result == 'failure'
329
374
)
330
375
}}
331
376
0 commit comments