@@ -20,14 +20,14 @@ jobs:
2020 if : (github.event_name == 'push') ||
2121 (github.event_name == 'pull_request' &&
2222 github.event.pull_request.head.repo.full_name != github.repository)
23- runs-on : ubuntu-20 .04
23+ runs-on : ubuntu-24 .04
2424
2525 strategy :
2626 fail-fast : false
2727
2828 steps :
2929 - name : Clone the connector repo
30- uses : actions/checkout@v3
30+ uses : actions/checkout@v4
3131 # Checkout all tags for correct version computation.
3232 with :
3333 fetch-depth : 0
3838 python-version : ' 3.11'
3939
4040 - 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
4244
4345 - name : Pack source and binary files
4446 run : make pip-dist
@@ -65,14 +67,14 @@ jobs:
6567 if : (github.event_name == 'push') ||
6668 (github.event_name == 'pull_request' &&
6769 github.event.pull_request.head.repo.full_name != github.repository)
68- runs-on : ubuntu-20 .04
70+ runs-on : ubuntu-24 .04
6971
7072 strategy :
7173 fail-fast : false
7274
7375 steps :
7476 - name : Clone the connector repo
75- uses : actions/checkout@v3
77+ uses : actions/checkout@v4
7678
7779 - name : Setup Python
7880 uses : actions/setup-python@v4
8385 run : python3 .github/scripts/remove_source_code.py
8486
8587 - name : Install tarantool
86- uses : tarantool/setup-tarantool@v2
88+ uses : tarantool/setup-tarantool@v3
8789 with :
8890 tarantool-version : ' 2.11'
8991
@@ -99,10 +101,13 @@ jobs:
99101 - name : Install test requirements
100102 run : pip3 install -r requirements-test.txt
101103
104+ # Installation of the specific CMake version is a hotfix for
105+ # https://github.com/tarantool/checks/issues/64
102106 - name : Install the crud module for testing purposes
103107 run : |
104108 curl -L https://tarantool.io/release/2/installer.sh | bash
105109 sudo apt install -y tt
110+ pip3 install cmake==3.15.3
106111 tt rocks install crud
107112
108113 - name : Run tests
@@ -127,7 +132,7 @@ jobs:
127132
128133 steps :
129134 - name : Clone the connector repo
130- uses : actions/checkout@v3
135+ uses : actions/checkout@v4
131136
132137 - name : Setup Python
133138 uses : actions/setup-python@v4
@@ -188,14 +193,14 @@ jobs:
188193 - run_tests_pip_package_linux
189194 - run_tests_pip_package_windows
190195
191- runs-on : ubuntu-20 .04
196+ runs-on : ubuntu-24 .04
192197
193198 strategy :
194199 fail-fast : false
195200
196201 steps :
197202 - name : Clone the connector repo
198- uses : actions/checkout@v3
203+ uses : actions/checkout@v4
199204
200205 - name : Setup Python and basic packing tools
201206 uses : actions/setup-python@v4
@@ -226,7 +231,7 @@ jobs:
226231 if : (github.event_name == 'push') ||
227232 (github.event_name == 'pull_request' &&
228233 github.event.pull_request.head.repo.full_name != github.repository)
229- runs-on : ubuntu-20 .04
234+ runs-on : ubuntu-24 .04
230235
231236 container :
232237 image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -250,7 +255,7 @@ jobs:
250255 run : dnf install -y git
251256
252257 - name : Clone the connector repo
253- uses : actions/checkout@v3
258+ uses : actions/checkout@v4
254259 # Checkout all tags for correct version computation.
255260 with :
256261 fetch-depth : 0
@@ -293,7 +298,7 @@ jobs:
293298 if : (github.event_name == 'push') ||
294299 (github.event_name == 'pull_request' &&
295300 github.event.pull_request.head.repo.full_name != github.repository)
296- runs-on : ubuntu-20 .04
301+ runs-on : ubuntu-24 .04
297302
298303 container :
299304 image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -312,7 +317,7 @@ jobs:
312317
313318 steps :
314319 - name : Clone the connector repo
315- uses : actions/checkout@v3
320+ uses : actions/checkout@v4
316321
317322 - name : Setup Python and test running tools
318323 # cmake rocks fail to install as expected without findutils:
@@ -343,6 +348,7 @@ jobs:
343348 run : |
344349 curl -L https://tarantool.io/release/2/installer.sh | bash
345350 sudo dnf install -y tt
351+ pip3 install cmake==3.15.3
346352 tt rocks install crud
347353
348354 - name : Run tests
@@ -354,7 +360,7 @@ jobs:
354360 needs :
355361 - run_tests_rpm
356362
357- runs-on : ubuntu-20 .04
363+ runs-on : ubuntu-24 .04
358364
359365 strategy :
360366 fail-fast : false
@@ -370,7 +376,7 @@ jobs:
370376
371377 steps :
372378 - name : Clone the connector repo
373- uses : actions/checkout@v3
379+ uses : actions/checkout@v4
374380
375381 - name : Install tools for package publishing
376382 run : sudo apt install -y curl make
@@ -404,14 +410,14 @@ jobs:
404410 if : (github.event_name == 'push') ||
405411 (github.event_name == 'pull_request' &&
406412 github.event.pull_request.head.repo.full_name != github.repository)
407- runs-on : ubuntu-20 .04
413+ runs-on : ubuntu-24 .04
408414
409415 strategy :
410416 fail-fast : false
411417
412418 steps :
413419 - name : Clone the connector repo
414- uses : actions/checkout@v3
420+ uses : actions/checkout@v4
415421 # Checkout all tags for correct version computation
416422 with :
417423 fetch-depth : 0
@@ -420,6 +426,7 @@ jobs:
420426 run : |
421427 sudo apt update
422428 sudo apt install -y devscripts equivs
429+ sudo apt install python3-setuptools python3-stdeb dh-python
423430
424431 - name : Make changelog entry for non-release build
425432 if : startsWith(github.ref, 'refs/tags') != true
@@ -453,7 +460,7 @@ jobs:
453460 if : (github.event_name == 'push') ||
454461 (github.event_name == 'pull_request' &&
455462 github.event.pull_request.head.repo.full_name != github.repository)
456- runs-on : ubuntu-20 .04
463+ runs-on : ubuntu-24 .04
457464
458465 container :
459466 image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -463,18 +470,20 @@ jobs:
463470
464471 matrix :
465472 target :
473+ - os : debian
474+ dist : bullseye # 11
475+ - os : debian
476+ dist : bookworm # 12
466477 - os : ubuntu
467478 dist : focal # 20.04
468479 - os : ubuntu
469480 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
474483
475484 steps :
476485 - name : Clone the connector repo
477- uses : actions/checkout@v3
486+ uses : actions/checkout@v4
478487
479488 - name : Prepare apt
480489 run : apt update
@@ -504,25 +513,56 @@ jobs:
504513 env :
505514 DEBIAN_FRONTEND : noninteractive
506515
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+
507522 - name : Install test requirements
508523 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'
509531
510532 - name : Install the crud module for testing purposes
511533 run : |
512534 curl -L https://tarantool.io/release/2/installer.sh | bash
513535 apt install -y tt
514536 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'
515546
516547 - name : Run tests
517548 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'
518558
519559 publish_deb :
520560 if : startsWith(github.ref, 'refs/tags')
521561
522562 needs :
523563 - run_tests_deb
524564
525- runs-on : ubuntu-20 .04
565+ runs-on : ubuntu-24 .04
526566
527567 strategy :
528568 fail-fast : false
@@ -533,14 +573,18 @@ jobs:
533573 dist : focal # 20.04
534574 - os : ubuntu
535575 dist : jammy # 22.04
576+ - os : ubuntu
577+ dist : noble # 24.04
536578 - os : debian
537579 dist : buster # 10
538580 - os : debian
539581 dist : bullseye # 11
582+ - os : debian
583+ dist : bookworm # 12
540584
541585 steps :
542586 - name : Clone the connector repo
543- uses : actions/checkout@v3
587+ uses : actions/checkout@v4
544588
545589 - name : Install tools for package publishing
546590 run : sudo apt install -y curl make
0 commit comments