@@ -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
@@ -65,14 +65,14 @@ jobs:
6565 if : (github.event_name == 'push') ||
6666 (github.event_name == 'pull_request' &&
6767 github.event.pull_request.head.repo.full_name != github.repository)
68- runs-on : ubuntu-20 .04
68+ runs-on : ubuntu-24 .04
6969
7070 strategy :
7171 fail-fast : false
7272
7373 steps :
7474 - name : Clone the connector repo
75- uses : actions/checkout@v3
75+ uses : actions/checkout@v4
7676
7777 - name : Setup Python
7878 uses : actions/setup-python@v4
8383 run : python3 .github/scripts/remove_source_code.py
8484
8585 - name : Install tarantool
86- uses : tarantool/setup-tarantool@v2
86+ uses : tarantool/setup-tarantool@v3
8787 with :
8888 tarantool-version : ' 2.11'
8989
@@ -99,10 +99,13 @@ jobs:
9999 - name : Install test requirements
100100 run : pip3 install -r requirements-test.txt
101101
102+ # Installation of the specific CMake version is a hotfix for
103+ # https://github.com/tarantool/checks/issues/64
102104 - name : Install the crud module for testing purposes
103105 run : |
104106 curl -L https://tarantool.io/release/2/installer.sh | bash
105107 sudo apt install -y tt
108+ pip3 install cmake==3.15.3
106109 tt rocks install crud
107110
108111 - name : Run tests
@@ -127,7 +130,7 @@ jobs:
127130
128131 steps :
129132 - name : Clone the connector repo
130- uses : actions/checkout@v3
133+ uses : actions/checkout@v4
131134
132135 - name : Setup Python
133136 uses : actions/setup-python@v4
@@ -188,14 +191,14 @@ jobs:
188191 - run_tests_pip_package_linux
189192 - run_tests_pip_package_windows
190193
191- runs-on : ubuntu-20 .04
194+ runs-on : ubuntu-24 .04
192195
193196 strategy :
194197 fail-fast : false
195198
196199 steps :
197200 - name : Clone the connector repo
198- uses : actions/checkout@v3
201+ uses : actions/checkout@v4
199202
200203 - name : Setup Python and basic packing tools
201204 uses : actions/setup-python@v4
@@ -226,7 +229,7 @@ jobs:
226229 if : (github.event_name == 'push') ||
227230 (github.event_name == 'pull_request' &&
228231 github.event.pull_request.head.repo.full_name != github.repository)
229- runs-on : ubuntu-20 .04
232+ runs-on : ubuntu-24 .04
230233
231234 container :
232235 image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -250,7 +253,7 @@ jobs:
250253 run : dnf install -y git
251254
252255 - name : Clone the connector repo
253- uses : actions/checkout@v3
256+ uses : actions/checkout@v4
254257 # Checkout all tags for correct version computation.
255258 with :
256259 fetch-depth : 0
@@ -293,7 +296,7 @@ jobs:
293296 if : (github.event_name == 'push') ||
294297 (github.event_name == 'pull_request' &&
295298 github.event.pull_request.head.repo.full_name != github.repository)
296- runs-on : ubuntu-20 .04
299+ runs-on : ubuntu-24 .04
297300
298301 container :
299302 image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -312,7 +315,7 @@ jobs:
312315
313316 steps :
314317 - name : Clone the connector repo
315- uses : actions/checkout@v3
318+ uses : actions/checkout@v4
316319
317320 - name : Setup Python and test running tools
318321 # cmake rocks fail to install as expected without findutils:
@@ -343,6 +346,7 @@ jobs:
343346 run : |
344347 curl -L https://tarantool.io/release/2/installer.sh | bash
345348 sudo dnf install -y tt
349+ pip3 install cmake==3.15.3
346350 tt rocks install crud
347351
348352 - name : Run tests
@@ -354,7 +358,7 @@ jobs:
354358 needs :
355359 - run_tests_rpm
356360
357- runs-on : ubuntu-20 .04
361+ runs-on : ubuntu-24 .04
358362
359363 strategy :
360364 fail-fast : false
@@ -370,7 +374,7 @@ jobs:
370374
371375 steps :
372376 - name : Clone the connector repo
373- uses : actions/checkout@v3
377+ uses : actions/checkout@v4
374378
375379 - name : Install tools for package publishing
376380 run : sudo apt install -y curl make
@@ -404,14 +408,14 @@ jobs:
404408 if : (github.event_name == 'push') ||
405409 (github.event_name == 'pull_request' &&
406410 github.event.pull_request.head.repo.full_name != github.repository)
407- runs-on : ubuntu-20 .04
411+ runs-on : ubuntu-24 .04
408412
409413 strategy :
410414 fail-fast : false
411415
412416 steps :
413417 - name : Clone the connector repo
414- uses : actions/checkout@v3
418+ uses : actions/checkout@v4
415419 # Checkout all tags for correct version computation
416420 with :
417421 fetch-depth : 0
@@ -420,6 +424,7 @@ jobs:
420424 run : |
421425 sudo apt update
422426 sudo apt install -y devscripts equivs
427+ sudo apt install python3-setuptools python3-stdeb dh-python
423428
424429 - name : Make changelog entry for non-release build
425430 if : startsWith(github.ref, 'refs/tags') != true
@@ -453,7 +458,7 @@ jobs:
453458 if : (github.event_name == 'push') ||
454459 (github.event_name == 'pull_request' &&
455460 github.event.pull_request.head.repo.full_name != github.repository)
456- runs-on : ubuntu-20 .04
461+ runs-on : ubuntu-24 .04
457462
458463 container :
459464 image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
@@ -463,18 +468,20 @@ jobs:
463468
464469 matrix :
465470 target :
471+ - os : debian
472+ dist : bullseye # 11
473+ - os : debian
474+ dist : bookworm # 12
466475 - os : ubuntu
467476 dist : focal # 20.04
468477 - os : ubuntu
469478 dist : jammy # 22.04
470- - os : debian
471- dist : buster # 10
472- - os : debian
473- dist : bullseye # 11
479+ - os : ubuntu
480+ dist : noble # 24.04
474481
475482 steps :
476483 - name : Clone the connector repo
477- uses : actions/checkout@v3
484+ uses : actions/checkout@v4
478485
479486 - name : Prepare apt
480487 run : apt update
@@ -504,25 +511,55 @@ jobs:
504511 env :
505512 DEBIAN_FRONTEND : noninteractive
506513
514+ - name : Create venv
515+ run : |
516+ apt install -y python3-venv
517+ python3 -m venv .venv
518+
507519 - name : Install test requirements
508520 run : pip3 install -r requirements-test.txt
521+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
522+
523+ - name : Install test requirements
524+ run : |
525+ . .venv/bin/activate
526+ pip3 install -r requirements-test.txt
527+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
509528
510529 - name : Install the crud module for testing purposes
511530 run : |
512531 curl -L https://tarantool.io/release/2/installer.sh | bash
513532 apt install -y tt
514533 tt rocks install crud
534+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
535+
536+ - name : Install the crud module for testing purposes
537+ run : |
538+ . .venv/bin/activate
539+ curl -L https://tarantool.io/release/3/installer.sh | bash
540+ apt install -y tt
541+ tt rocks install crud
542+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
515543
516544 - name : Run tests
517545 run : make test-pure-install
546+ if : matrix.target.dist != 'bookworm' && matrix.target.dist != 'noble'
547+
548+ - name : Run tests
549+ run : |
550+ . .venv/bin/activate
551+ export PYTHONPATH=$PYTHONPATH:/usr/lib/python3.11:/usr/lib/python3.12:/usr/bin:/usr/lib/python3/dist-packages
552+ export PATH=$PATH:/usr/lib/python3/dist-packages
553+ make test-pure-install
554+ if : matrix.target.dist == 'bookworm' || matrix.target.dist == 'noble'
518555
519556 publish_deb :
520557 if : startsWith(github.ref, 'refs/tags')
521558
522559 needs :
523560 - run_tests_deb
524561
525- runs-on : ubuntu-20 .04
562+ runs-on : ubuntu-24 .04
526563
527564 strategy :
528565 fail-fast : false
@@ -533,14 +570,18 @@ jobs:
533570 dist : focal # 20.04
534571 - os : ubuntu
535572 dist : jammy # 22.04
573+ - os : ubuntu
574+ dist : noble # 24.04
536575 - os : debian
537576 dist : buster # 10
538577 - os : debian
539578 dist : bullseye # 11
579+ - os : debian
580+ dist : bookworm # 12
540581
541582 steps :
542583 - name : Clone the connector repo
543- uses : actions/checkout@v3
584+ uses : actions/checkout@v4
544585
545586 - name : Install tools for package publishing
546587 run : sudo apt install -y curl make
0 commit comments