@@ -48,14 +48,15 @@ jobs:
4848 with :
4949 python-version : ${{ matrix.python-version }}
5050
51+ - name : Install uv
52+ uses : astral-sh/setup-uv@v5
53+
5154 - name : Install dependencies
52- run : |
53- python -m pip install --upgrade pip
54- pip install -e ".[test]"
55+ run : uv sync --group test
5556
5657 - name : Run unit tests
5758 run : |
58- pytest tests/ -v --timeout=60 \
59+ uv run pytest tests/ -v --timeout=60 \
5960 --ignore=tests/test_sqlite.py \
6061 --ignore=tests/test_mssql.py \
6162 --ignore=tests/test_postgresql.py \
@@ -83,14 +84,14 @@ jobs:
8384 with :
8485 python-version : ${{ matrix.python-version }}
8586
87+ - name : Install uv
88+ uses : astral-sh/setup-uv@v5
89+
8690 - name : Install dependencies
87- run : |
88- python -m pip install --upgrade pip
89- pip install -e ".[test]"
91+ run : uv sync --group test
9092
9193 - name : Run SQLite integration tests
92- run : |
93- pytest tests/test_sqlite.py -v --timeout=60
94+ run : uv run pytest tests/test_sqlite.py -v --timeout=60
9495
9596 test-mssql :
9697 runs-on : ubuntu-latest
@@ -120,11 +121,11 @@ jobs:
120121 with :
121122 python-version : " 3.12"
122123
124+ - name : Install uv
125+ uses : astral-sh/setup-uv@v5
126+
123127 - name : Install dependencies
124- run : |
125- python -m pip install --upgrade pip
126- pip install -e ".[test]"
127- pip install mssql-python
128+ run : uv sync --group test --extra mssql
128129
129130 - name : Wait for SQL Server to be ready
130131 run : |
@@ -143,8 +144,7 @@ jobs:
143144 MSSQL_PORT : 1433
144145 MSSQL_USER : sa
145146 MSSQL_PASSWORD : TestPassword123!
146- run : |
147- pytest tests/test_mssql.py -v --timeout=120
147+ run : uv run pytest tests/test_mssql.py -v --timeout=120
148148
149149 test-postgresql :
150150 runs-on : ubuntu-latest
@@ -174,11 +174,11 @@ jobs:
174174 with :
175175 python-version : " 3.12"
176176
177+ - name : Install uv
178+ uses : astral-sh/setup-uv@v5
179+
177180 - name : Install dependencies
178- run : |
179- python -m pip install --upgrade pip
180- pip install -e ".[test]"
181- pip install psycopg2-binary
181+ run : uv sync --group test --extra postgres
182182
183183 - name : Run PostgreSQL integration tests
184184 env :
@@ -187,8 +187,7 @@ jobs:
187187 POSTGRES_USER : testuser
188188 POSTGRES_PASSWORD : TestPassword123!
189189 POSTGRES_DATABASE : test_sqlit
190- run : |
191- pytest tests/test_postgresql.py -v --timeout=120
190+ run : uv run pytest tests/test_postgresql.py -v --timeout=120
192191
193192 test-mysql :
194193 runs-on : ubuntu-latest
@@ -219,11 +218,11 @@ jobs:
219218 with :
220219 python-version : " 3.12"
221220
221+ - name : Install uv
222+ uses : astral-sh/setup-uv@v5
223+
222224 - name : Install dependencies
223- run : |
224- python -m pip install --upgrade pip
225- pip install -e ".[test]"
226- pip install mysql-connector-python
225+ run : uv sync --group test --extra mysql
227226
228227 - name : Run MySQL integration tests
229228 env :
@@ -232,8 +231,7 @@ jobs:
232231 MYSQL_USER : root
233232 MYSQL_PASSWORD : TestPassword123!
234233 MYSQL_DATABASE : test_sqlit
235- run : |
236- pytest tests/test_mysql.py -v --timeout=120
234+ run : uv run pytest tests/test_mysql.py -v --timeout=120
237235
238236 test-oracle :
239237 runs-on : ubuntu-latest
@@ -263,11 +261,11 @@ jobs:
263261 with :
264262 python-version : " 3.12"
265263
264+ - name : Install uv
265+ uses : astral-sh/setup-uv@v5
266+
266267 - name : Install dependencies
267- run : |
268- python -m pip install --upgrade pip
269- pip install -e ".[test]"
270- pip install oracledb
268+ run : uv sync --group test --extra oracle
271269
272270 - name : Run Oracle integration tests
273271 env :
@@ -276,8 +274,7 @@ jobs:
276274 ORACLE_USER : testuser
277275 ORACLE_PASSWORD : TestPassword123!
278276 ORACLE_SERVICE : FREEPDB1
279- run : |
280- pytest tests/test_oracle.py -v --timeout=120
277+ run : uv run pytest tests/test_oracle.py -v --timeout=120
281278
282279 test-mariadb :
283280 runs-on : ubuntu-latest
@@ -313,11 +310,11 @@ jobs:
313310 sudo apt-get update
314311 sudo apt-get install -y libmariadb-dev
315312
313+ - name : Install uv
314+ uses : astral-sh/setup-uv@v5
315+
316316 - name : Install dependencies
317- run : |
318- python -m pip install --upgrade pip
319- pip install -e ".[test]"
320- pip install mariadb
317+ run : uv sync --group test --extra mariadb
321318
322319 - name : Run MariaDB integration tests
323320 env :
@@ -326,8 +323,7 @@ jobs:
326323 MARIADB_USER : root
327324 MARIADB_PASSWORD : TestPassword123!
328325 MARIADB_DATABASE : test_sqlit
329- run : |
330- pytest tests/test_mariadb.py -v --timeout=120
326+ run : uv run pytest tests/test_mariadb.py -v --timeout=120
331327
332328 test-duckdb :
333329 runs-on : ubuntu-latest
@@ -343,15 +339,14 @@ jobs:
343339 with :
344340 python-version : ${{ matrix.python-version }}
345341
342+ - name : Install uv
343+ uses : astral-sh/setup-uv@v5
344+
346345 - name : Install dependencies
347- run : |
348- python -m pip install --upgrade pip
349- pip install -e ".[test]"
350- pip install duckdb
346+ run : uv sync --group test --extra duckdb
351347
352348 - name : Run DuckDB integration tests
353- run : |
354- pytest tests/test_duckdb.py -v --timeout=60
349+ run : uv run pytest tests/test_duckdb.py -v --timeout=60
355350
356351 test-cockroachdb :
357352 runs-on : ubuntu-latest
@@ -365,11 +360,11 @@ jobs:
365360 with :
366361 python-version : " 3.12"
367362
363+ - name : Install uv
364+ uses : astral-sh/setup-uv@v5
365+
368366 - name : Install dependencies
369- run : |
370- python -m pip install --upgrade pip
371- pip install -e ".[test]"
372- pip install psycopg2-binary
367+ run : uv sync --group test --extra cockroachdb
373368
374369 - name : Start CockroachDB
375370 run : |
@@ -392,8 +387,7 @@ jobs:
392387 COCKROACHDB_USER : root
393388 COCKROACHDB_PASSWORD : " "
394389 COCKROACHDB_DATABASE : test_sqlit
395- run : |
396- pytest tests/test_cockroachdb.py -v --timeout=120
390+ run : uv run pytest tests/test_cockroachdb.py -v --timeout=120
397391
398392 test-firebird :
399393 runs-on : ubuntu-latest
@@ -417,11 +411,11 @@ jobs:
417411 with :
418412 python-version : " 3.12"
419413
414+ - name : Install uv
415+ uses : astral-sh/setup-uv@v5
416+
420417 - name : Install dependencies
421- run : |
422- python -m pip install --upgrade pip
423- pip install -e ".[test]"
424- pip install firebirdsql
418+ run : uv sync --group test --extra firebird
425419
426420 - name : Run Firebird integration tests
427421 env :
@@ -430,8 +424,7 @@ jobs:
430424 FIREBIRD_USER : testuser
431425 FIREBIRD_PASSWORD : TestPassword123!
432426 FIREBIRD_DATABASE : /var/lib/firebird/data/test_sqlit.fdb
433- run : |
434- pytest tests/test_firebird.py -v --timeout=120
427+ run : uv run pytest tests/test_firebird.py -v --timeout=120
435428
436429 test-clickhouse :
437430 runs-on : ubuntu-latest
@@ -445,11 +438,11 @@ jobs:
445438 with :
446439 python-version : " 3.12"
447440
441+ - name : Install uv
442+ uses : astral-sh/setup-uv@v5
443+
448444 - name : Install dependencies
449- run : |
450- python -m pip install --upgrade pip
451- pip install -e ".[test]"
452- pip install clickhouse-connect
445+ run : uv sync --group test --extra clickhouse
453446
454447 - name : Start ClickHouse
455448 run : |
@@ -474,8 +467,7 @@ jobs:
474467 CLICKHOUSE_USER : default
475468 CLICKHOUSE_PASSWORD : testpass
476469 CLICKHOUSE_DATABASE : test_sqlit
477- run : |
478- pytest tests/test_clickhouse.py -v --timeout=120
470+ run : uv run pytest tests/test_clickhouse.py -v --timeout=120
479471
480472 test-ssh :
481473 runs-on : ubuntu-latest
@@ -489,11 +481,11 @@ jobs:
489481 with :
490482 python-version : " 3.12"
491483
484+ - name : Install uv
485+ uses : astral-sh/setup-uv@v5
486+
492487 - name : Install dependencies
493- run : |
494- python -m pip install --upgrade pip
495- pip install -e ".[test,ssh]"
496- pip install psycopg2-binary
488+ run : uv sync --group test --extra ssh --extra postgres
497489
498490 - name : Create Docker network
499491 run : docker network create ssh-test-net
@@ -550,8 +542,7 @@ jobs:
550542 POSTGRES_USER : testuser
551543 POSTGRES_PASSWORD : TestPassword123!
552544 POSTGRES_DATABASE : test_sqlit
553- run : |
554- pytest tests/test_ssh.py -v --timeout=120
545+ run : uv run pytest tests/test_ssh.py -v --timeout=120
555546
556547 - name : Cleanup
557548 if : always()
@@ -572,11 +563,11 @@ jobs:
572563 with :
573564 python-version : " 3.12"
574565
566+ - name : Install uv
567+ uses : astral-sh/setup-uv@v5
568+
575569 - name : Install dependencies
576- run : |
577- python -m pip install --upgrade pip
578- pip install -e ".[test]"
579- pip install libsql
570+ run : uv sync --group test --extra turso
580571
581572 - name : Start Turso (libsql-server)
582573 run : |
@@ -596,8 +587,7 @@ jobs:
596587 - name : Run Turso integration tests
597588 env :
598589 TURSO_URL : http://localhost:8080
599- run : |
600- pytest tests/test_turso.py -v --timeout=120
590+ run : uv run pytest tests/test_turso.py -v --timeout=120
601591
602592 - name : Cleanup
603593 if : always()
0 commit comments