66 pull_request :
77 branches : [main, master]
88
9+ permissions :
10+ contents : read
11+
912jobs :
1013 build :
1114 runs-on : ubuntu-latest
@@ -14,25 +17,21 @@ jobs:
1417 python-version : ["3.10", "3.11", "3.12", "3.13"]
1518
1619 steps :
17- - uses : actions/checkout@v4
20+ - uses : actions/checkout@v6
1821
19- - name : Set up Python ${{ matrix.python-version }}
20- uses : actions /setup-python@v5
22+ - name : Set up uv ( Python ${{ matrix.python-version }})
23+ uses : astral-sh /setup-uv@v7
2124 with :
2225 python-version : ${{ matrix.python-version }}
2326
24- - name : Install dependencies
25- run : |
26- python -m pip install --upgrade pip
27- pip install build
28- pip install -e .
27+ - name : Sync runtime dependencies
28+ run : uv sync --locked --no-dev
2929
3030 - name : Check package builds
31- run : python -m build
31+ run : uv build
3232
3333 - name : Verify CLI entry point
34- run : |
35- python -c "from sqlit.cli import main; print('CLI import OK')"
34+ run : uv run python -c "from sqlit.cli import main; print('CLI import OK')"
3635
3736 test-unit :
3837 runs-on : ubuntu-latest
@@ -41,18 +40,15 @@ jobs:
4140 python-version : ["3.10", "3.12"]
4241
4342 steps :
44- - uses : actions/checkout@v4
43+ - uses : actions/checkout@v6
4544
46- - name : Set up Python ${{ matrix.python-version }}
47- uses : actions /setup-python@v5
45+ - name : Set up uv ( Python ${{ matrix.python-version }})
46+ uses : astral-sh /setup-uv@v7
4847 with :
4948 python-version : ${{ matrix.python-version }}
5049
51- - name : Install uv
52- uses : astral-sh/setup-uv@v5
53-
5450 - name : Install dependencies
55- run : uv sync --group test --no-dev
51+ run : uv sync --locked -- group test --no-dev
5652
5753 - name : Run unit tests
5854 run : |
@@ -77,18 +73,16 @@ jobs:
7773 python-version : ["3.10", "3.12"]
7874
7975 steps :
80- - uses : actions/checkout@v4
76+ - uses : actions/checkout@v6
8177
82- - name : Set up Python ${{ matrix.python-version }}
83- uses : actions /setup-python@v5
78+ - name : Set up uv ( Python ${{ matrix.python-version }})
79+ uses : astral-sh /setup-uv@v7
8480 with :
8581 python-version : ${{ matrix.python-version }}
86-
87- - name : Install uv
88- uses : astral-sh/setup-uv@v5
82+ enable-cache : true
8983
9084 - name : Install dependencies
91- run : uv sync --group test --no-dev
85+ run : uv sync --locked -- group test --no-dev
9286
9387 - name : Run SQLite integration tests
9488 run : uv run pytest tests/test_sqlite.py -v --timeout=60
@@ -114,18 +108,16 @@ jobs:
114108 --health-start-period 30s
115109
116110 steps :
117- - uses : actions/checkout@v4
111+ - uses : actions/checkout@v6
118112
119- - name : Set up Python 3.12
120- uses : actions /setup-python@v5
113+ - name : Set up uv
114+ uses : astral-sh /setup-uv@v7
121115 with :
122116 python-version : " 3.12"
123-
124- - name : Install uv
125- uses : astral-sh/setup-uv@v5
117+ enable-cache : true
126118
127119 - name : Install dependencies
128- run : uv sync --group test --no-dev --extra mssql
120+ run : uv sync --locked -- group test --no-dev --extra mssql
129121
130122 - name : Wait for SQL Server to be ready
131123 run : |
@@ -167,18 +159,16 @@ jobs:
167159 --health-start-period 10s
168160
169161 steps :
170- - uses : actions/checkout@v4
162+ - uses : actions/checkout@v6
171163
172- - name : Set up Python 3.12
173- uses : actions /setup-python@v5
164+ - name : Set up uv
165+ uses : astral-sh /setup-uv@v7
174166 with :
175167 python-version : " 3.12"
176-
177- - name : Install uv
178- uses : astral-sh/setup-uv@v5
168+ enable-cache : true
179169
180170 - name : Install dependencies
181- run : uv sync --group test --no-dev --extra postgres
171+ run : uv sync --locked -- group test --no-dev --extra postgres
182172
183173 - name : Run PostgreSQL integration tests
184174 env :
@@ -211,18 +201,16 @@ jobs:
211201 --health-start-period 30s
212202
213203 steps :
214- - uses : actions/checkout@v4
204+ - uses : actions/checkout@v6
215205
216- - name : Set up Python 3.12
217- uses : actions /setup-python@v5
206+ - name : Set up uv
207+ uses : astral-sh /setup-uv@v7
218208 with :
219209 python-version : " 3.12"
220-
221- - name : Install uv
222- uses : astral-sh/setup-uv@v5
210+ enable-cache : true
223211
224212 - name : Install dependencies
225- run : uv sync --group test --no-dev --extra mysql
213+ run : uv sync --locked -- group test --no-dev --extra mysql
226214
227215 - name : Run MySQL integration tests
228216 env :
@@ -254,18 +242,16 @@ jobs:
254242 --health-start-period 60s
255243
256244 steps :
257- - uses : actions/checkout@v4
245+ - uses : actions/checkout@v6
258246
259- - name : Set up Python 3.12
260- uses : actions /setup-python@v5
247+ - name : Set up uv
248+ uses : astral-sh /setup-uv@v7
261249 with :
262250 python-version : " 3.12"
263-
264- - name : Install uv
265- uses : astral-sh/setup-uv@v5
251+ enable-cache : true
266252
267253 - name : Install dependencies
268- run : uv sync --group test --no-dev --extra oracle
254+ run : uv sync --locked -- group test --no-dev --extra oracle
269255
270256 - name : Run Oracle integration tests
271257 env :
@@ -298,23 +284,21 @@ jobs:
298284 --health-start-period 30s
299285
300286 steps :
301- - uses : actions/checkout@v4
287+ - uses : actions/checkout@v6
302288
303- - name : Set up Python 3.12
304- uses : actions /setup-python@v5
289+ - name : Set up uv
290+ uses : astral-sh /setup-uv@v7
305291 with :
306292 python-version : " 3.12"
293+ enable-cache : true
307294
308295 - name : Install MariaDB Connector/C
309296 run : |
310297 sudo apt-get update
311298 sudo apt-get install -y libmariadb-dev
312299
313- - name : Install uv
314- uses : astral-sh/setup-uv@v5
315-
316300 - name : Install dependencies
317- run : uv sync --group test --no-dev --extra mariadb
301+ run : uv sync --locked -- group test --no-dev --extra mariadb
318302
319303 - name : Run MariaDB integration tests
320304 env :
@@ -332,18 +316,16 @@ jobs:
332316 python-version : ["3.10", "3.12"]
333317
334318 steps :
335- - uses : actions/checkout@v4
319+ - uses : actions/checkout@v6
336320
337- - name : Set up Python ${{ matrix.python-version }}
338- uses : actions /setup-python@v5
321+ - name : Set up uv ( Python ${{ matrix.python-version }})
322+ uses : astral-sh /setup-uv@v7
339323 with :
340324 python-version : ${{ matrix.python-version }}
341-
342- - name : Install uv
343- uses : astral-sh/setup-uv@v5
325+ enable-cache : true
344326
345327 - name : Install dependencies
346- run : uv sync --group test --no-dev --extra duckdb
328+ run : uv sync --locked -- group test --no-dev --extra duckdb
347329
348330 - name : Run DuckDB integration tests
349331 run : uv run pytest tests/test_duckdb.py -v --timeout=60
@@ -353,18 +335,16 @@ jobs:
353335 needs : build
354336
355337 steps :
356- - uses : actions/checkout@v4
338+ - uses : actions/checkout@v6
357339
358- - name : Set up Python 3.12
359- uses : actions /setup-python@v5
340+ - name : Set up uv
341+ uses : astral-sh /setup-uv@v7
360342 with :
361343 python-version : " 3.12"
362-
363- - name : Install uv
364- uses : astral-sh/setup-uv@v5
344+ enable-cache : true
365345
366346 - name : Install dependencies
367- run : uv sync --group test --no-dev --extra cockroachdb
347+ run : uv sync --locked -- group test --no-dev --extra cockroachdb
368348
369349 - name : Start CockroachDB
370350 run : |
@@ -404,18 +384,16 @@ jobs:
404384 - 3050:3050
405385
406386 steps :
407- - uses : actions/checkout@v4
387+ - uses : actions/checkout@v6
408388
409- - name : Set up Python 3.12
410- uses : actions /setup-python@v5
389+ - name : Set up uv
390+ uses : astral-sh /setup-uv@v7
411391 with :
412392 python-version : " 3.12"
413-
414- - name : Install uv
415- uses : astral-sh/setup-uv@v5
393+ enable-cache : true
416394
417395 - name : Install dependencies
418- run : uv sync --group test --no-dev --extra firebird
396+ run : uv sync --locked -- group test --no-dev --extra firebird
419397
420398 - name : Run Firebird integration tests
421399 env :
@@ -431,18 +409,16 @@ jobs:
431409 needs : build
432410
433411 steps :
434- - uses : actions/checkout@v4
412+ - uses : actions/checkout@v6
435413
436- - name : Set up Python 3.12
437- uses : actions /setup-python@v5
414+ - name : Set up uv
415+ uses : astral-sh /setup-uv@v7
438416 with :
439417 python-version : " 3.12"
440-
441- - name : Install uv
442- uses : astral-sh/setup-uv@v5
418+ enable-cache : true
443419
444420 - name : Install dependencies
445- run : uv sync --group test --no-dev --extra clickhouse
421+ run : uv sync --locked -- group test --no-dev --extra clickhouse
446422
447423 - name : Start ClickHouse
448424 run : |
@@ -474,18 +450,16 @@ jobs:
474450 needs : build
475451
476452 steps :
477- - uses : actions/checkout@v4
453+ - uses : actions/checkout@v6
478454
479- - name : Set up Python 3.12
480- uses : actions /setup-python@v5
455+ - name : Set up uv
456+ uses : astral-sh /setup-uv@v7
481457 with :
482458 python-version : " 3.12"
483-
484- - name : Install uv
485- uses : astral-sh/setup-uv@v5
459+ enable-cache : true
486460
487461 - name : Install dependencies
488- run : uv sync --group test --no-dev --extra ssh --extra postgres
462+ run : uv sync --locked -- group test --no-dev --extra ssh --extra postgres
489463
490464 - name : Create Docker network
491465 run : docker network create ssh-test-net
@@ -556,18 +530,16 @@ jobs:
556530 needs : build
557531
558532 steps :
559- - uses : actions/checkout@v4
533+ - uses : actions/checkout@v6
560534
561- - name : Set up Python 3.12
562- uses : actions /setup-python@v5
535+ - name : Set up uv
536+ uses : astral-sh /setup-uv@v7
563537 with :
564538 python-version : " 3.12"
565-
566- - name : Install uv
567- uses : astral-sh/setup-uv@v5
539+ enable-cache : true
568540
569541 - name : Install dependencies
570- run : uv sync --group test --no-dev --extra turso
542+ run : uv sync --locked -- group test --no-dev --extra turso
571543
572544 - name : Start Turso (libsql-server)
573545 run : |
0 commit comments