@@ -20,14 +20,14 @@ jobs:
20
20
if : (github.event_name == 'push') ||
21
21
(github.event_name == 'pull_request' &&
22
22
github.event.pull_request.head.repo.full_name != github.repository)
23
- runs-on : ubuntu-20 .04
23
+ runs-on : ubuntu-24 .04
24
24
25
25
strategy :
26
26
fail-fast : false
27
27
28
28
steps :
29
29
- name : Clone the connector repo
30
- uses : actions/checkout@v3
30
+ uses : actions/checkout@v4
31
31
# Checkout all tags for correct version computation.
32
32
with :
33
33
fetch-depth : 0
38
38
python-version : ' 3.11'
39
39
40
40
- name : Install tools for packing and verification
41
- run : pip3 install wheel twine
41
+ run : |
42
+ pip3 install wheel twine
43
+ pip3 install --upgrade setuptools
42
44
43
45
- name : Pack source and binary files
44
46
run : make pip-dist
@@ -65,14 +67,14 @@ jobs:
65
67
if : (github.event_name == 'push') ||
66
68
(github.event_name == 'pull_request' &&
67
69
github.event.pull_request.head.repo.full_name != github.repository)
68
- runs-on : ubuntu-20 .04
70
+ runs-on : ubuntu-24 .04
69
71
70
72
strategy :
71
73
fail-fast : false
72
74
73
75
steps :
74
76
- name : Clone the connector repo
75
- uses : actions/checkout@v3
77
+ uses : actions/checkout@v4
76
78
77
79
- name : Setup Python
78
80
uses : actions/setup-python@v4
83
85
run : python3 .github/scripts/remove_source_code.py
84
86
85
87
- name : Install tarantool
86
- uses : tarantool/setup-tarantool@v2
88
+ uses : tarantool/setup-tarantool@v3
87
89
with :
88
90
tarantool-version : ' 2.11'
89
91
@@ -99,10 +101,13 @@ jobs:
99
101
- name : Install test requirements
100
102
run : pip3 install -r requirements-test.txt
101
103
104
+ # Installation of the specific CMake version is a hotfix for
105
+ # https://github.com/tarantool/checks/issues/64
102
106
- name : Install the crud module for testing purposes
103
107
run : |
104
108
curl -L https://tarantool.io/release/2/installer.sh | bash
105
109
sudo apt install -y tt
110
+ pip3 install cmake==3.15.3
106
111
tt rocks install crud
107
112
108
113
- name : Run tests
@@ -127,7 +132,7 @@ jobs:
127
132
128
133
steps :
129
134
- name : Clone the connector repo
130
- uses : actions/checkout@v3
135
+ uses : actions/checkout@v4
131
136
132
137
- name : Setup Python
133
138
uses : actions/setup-python@v4
@@ -188,14 +193,14 @@ jobs:
188
193
- run_tests_pip_package_linux
189
194
- run_tests_pip_package_windows
190
195
191
- runs-on : ubuntu-20 .04
196
+ runs-on : ubuntu-24 .04
192
197
193
198
strategy :
194
199
fail-fast : false
195
200
196
201
steps :
197
202
- name : Clone the connector repo
198
- uses : actions/checkout@v3
203
+ uses : actions/checkout@v4
199
204
200
205
- name : Setup Python and basic packing tools
201
206
uses : actions/setup-python@v4
@@ -226,7 +231,7 @@ jobs:
226
231
if : (github.event_name == 'push') ||
227
232
(github.event_name == 'pull_request' &&
228
233
github.event.pull_request.head.repo.full_name != github.repository)
229
- runs-on : ubuntu-20 .04
234
+ runs-on : ubuntu-24 .04
230
235
231
236
container :
232
237
image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -250,7 +255,7 @@ jobs:
250
255
run : dnf install -y git
251
256
252
257
- name : Clone the connector repo
253
- uses : actions/checkout@v3
258
+ uses : actions/checkout@v4
254
259
# Checkout all tags for correct version computation.
255
260
with :
256
261
fetch-depth : 0
@@ -293,7 +298,7 @@ jobs:
293
298
if : (github.event_name == 'push') ||
294
299
(github.event_name == 'pull_request' &&
295
300
github.event.pull_request.head.repo.full_name != github.repository)
296
- runs-on : ubuntu-20 .04
301
+ runs-on : ubuntu-24 .04
297
302
298
303
container :
299
304
image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -312,7 +317,7 @@ jobs:
312
317
313
318
steps :
314
319
- name : Clone the connector repo
315
- uses : actions/checkout@v3
320
+ uses : actions/checkout@v4
316
321
317
322
- name : Setup Python and test running tools
318
323
# cmake rocks fail to install as expected without findutils:
@@ -343,6 +348,7 @@ jobs:
343
348
run : |
344
349
curl -L https://tarantool.io/release/2/installer.sh | bash
345
350
sudo dnf install -y tt
351
+ pip3 install cmake==3.15.3
346
352
tt rocks install crud
347
353
348
354
- name : Run tests
@@ -354,7 +360,7 @@ jobs:
354
360
needs :
355
361
- run_tests_rpm
356
362
357
- runs-on : ubuntu-20 .04
363
+ runs-on : ubuntu-24 .04
358
364
359
365
strategy :
360
366
fail-fast : false
@@ -370,7 +376,7 @@ jobs:
370
376
371
377
steps :
372
378
- name : Clone the connector repo
373
- uses : actions/checkout@v3
379
+ uses : actions/checkout@v4
374
380
375
381
- name : Install tools for package publishing
376
382
run : sudo apt install -y curl make
@@ -404,14 +410,14 @@ jobs:
404
410
if : (github.event_name == 'push') ||
405
411
(github.event_name == 'pull_request' &&
406
412
github.event.pull_request.head.repo.full_name != github.repository)
407
- runs-on : ubuntu-20 .04
413
+ runs-on : ubuntu-24 .04
408
414
409
415
strategy :
410
416
fail-fast : false
411
417
412
418
steps :
413
419
- name : Clone the connector repo
414
- uses : actions/checkout@v3
420
+ uses : actions/checkout@v4
415
421
# Checkout all tags for correct version computation
416
422
with :
417
423
fetch-depth : 0
@@ -420,6 +426,7 @@ jobs:
420
426
run : |
421
427
sudo apt update
422
428
sudo apt install -y devscripts equivs
429
+ sudo apt install python3-setuptools python3-stdeb dh-python
423
430
424
431
- name : Make changelog entry for non-release build
425
432
if : startsWith(github.ref, 'refs/tags') != true
@@ -453,7 +460,7 @@ jobs:
453
460
if : (github.event_name == 'push') ||
454
461
(github.event_name == 'pull_request' &&
455
462
github.event.pull_request.head.repo.full_name != github.repository)
456
- runs-on : ubuntu-20 .04
463
+ runs-on : ubuntu-24 .04
457
464
458
465
container :
459
466
image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -463,18 +470,20 @@ jobs:
463
470
464
471
matrix :
465
472
target :
473
+ - os : debian
474
+ dist : bullseye # 11
475
+ - os : debian
476
+ dist : bookworm # 12
466
477
- os : ubuntu
467
478
dist : focal # 20.04
468
479
- os : ubuntu
469
480
dist : jammy # 22.04
470
- - os : debian
471
- dist : buster # 10
472
- - os : debian
473
- dist : bullseye # 11
481
+ - os : ubuntu
482
+ dist : noble # 24.04
474
483
475
484
steps :
476
485
- name : Clone the connector repo
477
- uses : actions/checkout@v3
486
+ uses : actions/checkout@v4
478
487
479
488
- name : Prepare apt
480
489
run : apt update
@@ -504,25 +513,56 @@ jobs:
504
513
env :
505
514
DEBIAN_FRONTEND : noninteractive
506
515
516
+ # Usage of venv is mandatory starting with Debian 12 and Ubuntu 24.04.
517
+ - name : Create venv
518
+ run : |
519
+ apt install -y python3-venv
520
+ python3 -m venv .venv
521
+
507
522
- name : Install test requirements
508
523
run : pip3 install -r requirements-test.txt
524
+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
525
+
526
+ - name : Install test requirements
527
+ run : |
528
+ . .venv/bin/activate
529
+ pip3 install -r requirements-test.txt
530
+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
509
531
510
532
- name : Install the crud module for testing purposes
511
533
run : |
512
534
curl -L https://tarantool.io/release/2/installer.sh | bash
513
535
apt install -y tt
514
536
tt rocks install crud
537
+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
538
+
539
+ - name : Install the crud module for testing purposes
540
+ run : |
541
+ . .venv/bin/activate
542
+ curl -L https://tarantool.io/release/3/installer.sh | bash
543
+ apt install -y tt
544
+ tt rocks install crud
545
+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
515
546
516
547
- name : Run tests
517
548
run : make test-pure-install
549
+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
550
+
551
+ - name : Run tests
552
+ run : |
553
+ . .venv/bin/activate
554
+ export PYTHONPATH=$PYTHONPATH:/usr/lib/python3.11:/usr/lib/python3.12:/usr/bin:/usr/lib/python3/dist-packages
555
+ export PATH=$PATH:/usr/lib/python3/dist-packages
556
+ make test-pure-install
557
+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
518
558
519
559
publish_deb :
520
560
if : startsWith(github.ref, 'refs/tags')
521
561
522
562
needs :
523
563
- run_tests_deb
524
564
525
- runs-on : ubuntu-20 .04
565
+ runs-on : ubuntu-24 .04
526
566
527
567
strategy :
528
568
fail-fast : false
@@ -533,14 +573,18 @@ jobs:
533
573
dist : focal # 20.04
534
574
- os : ubuntu
535
575
dist : jammy # 22.04
576
+ - os : ubuntu
577
+ dist : noble # 24.04
536
578
- os : debian
537
579
dist : buster # 10
538
580
- os : debian
539
581
dist : bullseye # 11
582
+ - os : debian
583
+ dist : bookworm # 12
540
584
541
585
steps :
542
586
- name : Clone the connector repo
543
- uses : actions/checkout@v3
587
+ uses : actions/checkout@v4
544
588
545
589
- name : Install tools for package publishing
546
590
run : sudo apt install -y curl make
0 commit comments