Skip to content

Commit ea50172

Browse files
ci: bump ubuntu version
Bump actions to use ubuntu-24.04 for fixing the following GitHub warning: The Ubuntu 20.04 Actions runner image will begin deprecation on 2025-02-01. Additionally this patch updates test requirements, list of OS to test, forces `xz` compression type to support older OS versions, hot-fixes to solve `CMake` 3.5 problem on latest Ubuntu and Debian. Part of #TNTP-1918
1 parent b6422af commit ea50172

File tree

7 files changed

+119
-63
lines changed

7 files changed

+119
-63
lines changed

Diff for: .github/workflows/packing.yml

+68-25
Original file line numberDiff line numberDiff line change
@@ -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
@@ -38,7 +38,9 @@ jobs:
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
@@ -83,7 +85,7 @@ jobs:
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

Diff for: .github/workflows/reusable_testing.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111

1212
jobs:
1313
run_tests:
14-
runs-on: ubuntu-20.04
14+
runs-on: ubuntu-24.04
1515
steps:
1616
- name: Clone the tarantool-python connector
1717
uses: actions/checkout@v4
@@ -43,6 +43,7 @@ jobs:
4343
run: |
4444
curl -L https://tarantool.io/release/2/installer.sh | bash
4545
sudo apt install -y tt
46+
pip3 install cmake==3.15.3
4647
tt rocks install crud
4748
4849
- run: make test

0 commit comments

Comments
 (0)