Skip to content

Commit db5f923

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, force `xz` compression type to support older OS versions, hotfix to solve cmake 3.5 problem on latest Ubuntu and Debian. Part of #TNTP-1918
1 parent b6422af commit db5f923

File tree

7 files changed

+106
-55
lines changed

7 files changed

+106
-55
lines changed

.github/workflows/packing.yml

Lines changed: 65 additions & 24 deletions
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
@@ -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
@@ -83,7 +83,7 @@ jobs:
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

.github/workflows/reusable_testing.yml

Lines changed: 2 additions & 1 deletion
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)