@@ -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
4345name : 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
108113name : 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
348354name : 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
424431name : 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+ 
507521name : 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