@@ -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,55 @@ jobs:
504513 env :
505514 DEBIAN_FRONTEND : noninteractive
506515
516+ - name : Create venv
517+ run : |
518+ apt install -y python3-venv
519+ python3 -m venv .venv
520+
507521 - name : Install test requirements
508522 run : pip3 install -r requirements-test.txt
523+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
524+
525+ - name : Install test requirements
526+ run : |
527+ . .venv/bin/activate
528+ pip3 install -r requirements-test.txt
529+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
509530
510531 - name : Install the crud module for testing purposes
511532 run : |
512533 curl -L https://tarantool.io/release/2/installer.sh | bash
513534 apt install -y tt
514535 tt rocks install crud
536+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
537+
538+ - name : Install the crud module for testing purposes
539+ run : |
540+ . .venv/bin/activate
541+ curl -L https://tarantool.io/release/3/installer.sh | bash
542+ apt install -y tt
543+ tt rocks install crud
544+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
515545
516546 - name : Run tests
517547 run : make test-pure-install
548+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
549+
550+ - name : Run tests
551+ run : |
552+ . .venv/bin/activate
553+ export PYTHONPATH=$PYTHONPATH:/usr/lib/python3.11:/usr/lib/python3.12:/usr/bin:/usr/lib/python3/dist-packages
554+ export PATH=$PATH:/usr/lib/python3/dist-packages
555+ make test-pure-install
556+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
518557
519558 publish_deb :
520559 if : startsWith(github.ref, 'refs/tags')
521560
522561 needs :
523562 - run_tests_deb
524563
525- runs-on : ubuntu-20 .04
564+ runs-on : ubuntu-24 .04
526565
527566 strategy :
528567 fail-fast : false
@@ -533,14 +572,18 @@ jobs:
533572 dist : focal # 20.04
534573 - os : ubuntu
535574 dist : jammy # 22.04
575+ - os : ubuntu
576+ dist : noble # 24.04
536577 - os : debian
537578 dist : buster # 10
538579 - os : debian
539580 dist : bullseye # 11
581+ - os : debian
582+ dist : bookworm # 12
540583
541584 steps :
542585 - name : Clone the connector repo
543- uses : actions/checkout@v3
586+ uses : actions/checkout@v4
544587
545588 - name : Install tools for package publishing
546589 run : sudo apt install -y curl make
0 commit comments