Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit db5f923

Browse files
committedApr 9, 2025
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

‎.github/workflows/testing.yml

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,15 @@ jobs:
2121
(github.event_name == 'pull_request' &&
2222
github.event.pull_request.head.repo.full_name != github.repository)
2323

24-
runs-on: ubuntu-20.04
24+
runs-on: ubuntu-22.04
2525

2626
strategy:
2727
fail-fast: false
2828
matrix:
2929
tarantool:
30-
- '1.10'
31-
- '2.8'
32-
- '2.10'
3330
- '2.11'
3431
- 'master'
3532
python:
36-
- '3.7'
3733
- '3.8'
3834
- '3.9'
3935
- '3.10'
@@ -59,18 +55,23 @@ jobs:
5955

6056
steps:
6157
- name: Clone the connector
62-
uses: actions/checkout@v3
58+
uses: actions/checkout@v4
6359

6460
- name: Setup tt
6561
run: |
6662
curl -L https://tarantool.io/release/2/installer.sh | sudo bash
6763
sudo apt install -y tt
6864
tt version
69-
tt init
65+
tt init
66+
67+
# Installation of the specific CMake version is a hotfix for
68+
# https://github.com/tarantool/checks/issues/64
69+
- name: Install old CMake
70+
run: pip3 install cmake==3.15.3
7071

7172
- name: Install tarantool ${{ matrix.tarantool }}
7273
if: matrix.tarantool != 'master'
73-
uses: tarantool/setup-tarantool@v2
74+
uses: tarantool/setup-tarantool@v3
7475
with:
7576
tarantool-version: ${{ matrix.tarantool }}
7677

@@ -123,8 +124,7 @@ jobs:
123124
run: pip3 install -r requirements-test.txt
124125

125126
- name: Install the crud module for testing purposes
126-
run: |
127-
tt rocks install crud
127+
run: tt rocks install crud
128128

129129
- name: Run tests
130130
run: make test
@@ -142,34 +142,30 @@ jobs:
142142
github.event.pull_request.head.repo.full_name != github.repository &&
143143
github.event.label.name == 'full-ci')
144144

145-
runs-on: ubuntu-20.04
145+
runs-on: ubuntu-22.04
146146

147147
strategy:
148148
fail-fast: false
149149
matrix:
150150
tarantool:
151-
- bundle: 'sdk-1.10.15-0-r563'
152-
path: 'release/linux/x86_64/1.10/'
153-
- bundle: 'sdk-2.8.4-0-r563'
154-
path: 'release/linux/x86_64/2.8/'
155-
- bundle: 'sdk-gc64-2.10.7-0-r563.linux.x86_64'
156-
path: 'release/linux/x86_64/2.10/'
157151
- bundle: 'sdk-gc64-2.11.0-0-r563.linux.x86_64'
158152
path: 'release/linux/x86_64/2.11/'
159-
python: ['3.7', '3.11']
153+
- bundle: 'sdk-gc64-3.3.1-0-r55.linux.x86_64'
154+
path: 'release/linux/x86_64/3.3/'
155+
python: ['3.9', '3.11']
160156

161157
steps:
162158
- name: Clone the connector
163159
# `ref` as merge request is needed for pull_request_target because this
164160
# target runs in the context of the base commit of the pull request.
165-
uses: actions/checkout@v3
161+
uses: actions/checkout@v4
166162
if: github.event_name == 'pull_request_target'
167163
with:
168164
ref: refs/pull/${{ github.event.pull_request.number }}/merge
169165

170166
- name: Clone the connector
171167
if: github.event_name != 'pull_request_target'
172-
uses: actions/checkout@v3
168+
uses: actions/checkout@v4
173169

174170
- name: Install Tarantool EE SDK
175171
run: |
@@ -196,6 +192,7 @@ jobs:
196192
source tarantool-enterprise/env.sh
197193
curl -L https://tarantool.io/release/2/installer.sh | bash
198194
sudo apt install -y tt
195+
pip3 install cmake==3.15.3
199196
tt rocks install crud TARANTOOL_DIR=$PWD/tarantool-enterprise
200197
201198
- name: Run tests
@@ -215,7 +212,7 @@ jobs:
215212
if: (github.event_name == 'push') ||
216213
(github.event_name == 'pull_request' &&
217214
github.event.pull_request.head.repo.full_name != github.repository)
218-
runs-on: ubuntu-20.04
215+
runs-on: ubuntu-22.04
219216

220217
strategy:
221218
fail-fast: false
@@ -224,14 +221,13 @@ jobs:
224221
tarantool:
225222
- '2.11'
226223
python:
227-
- '3.7'
228224
- '3.11'
229225
steps:
230226
- name: Clone the connector repo
231-
uses: actions/checkout@v3
227+
uses: actions/checkout@v4
232228

233229
- name: Install tarantool ${{ matrix.tarantool }}
234-
uses: tarantool/setup-tarantool@v2
230+
uses: tarantool/setup-tarantool@v3
235231
with:
236232
tarantool-version: ${{ matrix.tarantool }}
237233

@@ -246,13 +242,19 @@ jobs:
246242
- name: Install the package with pip
247243
run: pip3 install git+$GITHUB_SERVER_URL/$GITHUB_REPOSITORY@$GITHUB_REF
248244

245+
# Installation of the specific CMake version is a hotfix for
246+
# https://github.com/tarantool/checks/issues/64
247+
- name: Install old CMake
248+
run: pip3 install cmake==3.15.3
249+
249250
- name: Install test requirements
250251
run: pip3 install -r requirements-test.txt
251252

252253
- name: Install the crud module for testing purposes
253254
run: |
254255
curl -L https://tarantool.io/release/2/installer.sh | bash
255256
sudo apt install -y tt
257+
pip3 install cmake==3.15.3
256258
tt rocks install crud
257259
258260
- name: Run tests
@@ -277,12 +279,11 @@ jobs:
277279
tarantool:
278280
- '2.11.0.g247a9a418-1'
279281
python:
280-
- '3.7'
281282
- '3.11'
282283

283284
steps:
284285
- name: Clone the connector
285-
uses: actions/checkout@v3
286+
uses: actions/checkout@v4
286287

287288
- name: Setup Python for tests
288289
uses: actions/setup-python@v4
@@ -347,11 +348,10 @@ jobs:
347348
tarantool:
348349
- '2.11.0.g247a9a418-1'
349350
python:
350-
- '3.7'
351351
- '3.11'
352352
steps:
353353
- name: Clone the connector repo
354-
uses: actions/checkout@v3
354+
uses: actions/checkout@v4
355355

356356
- name: Setup Python for tests
357357
uses: actions/setup-python@v4

‎.readthedocs.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@ python:
1313
- method: pip
1414
path: .
1515
- requirements: docs/requirements.txt
16+
17+
sphinx:
18+
configuration: docs/source/conf.py

‎debian/control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Section: python
44
Priority: optional
55
# See https://github.com/astraw/stdeb/issues/175 for dependencies
66
Build-Depends: python3, python3-dev, python3-pip, python3-setuptools,
7-
python3-distutils, python3-wheel, python3-stdeb, dh-python,
7+
python3-wheel, python3-stdeb, dh-python,
88
debhelper (>= 10)
99
Standards-Version: 3.9.1
1010
Homepage: https://github.com/tarantool/tarantool-python

‎debian/rules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,7 @@ override_dh_auto_install:
1818

1919
override_dh_python2:
2020
dh_python2 --no-guessing-versions
21+
22+
override_dh_builddeb:
23+
# Force `xz` compression for older system with dpkg version < 1.15.6
24+
dh_builddeb -- -Zxz

‎requirements-test.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
git+https://github.com/baztian/dbapi-compliance.git@ea7cb1b4#egg=dbapi-compliance
2-
pyyaml==6.0
2+
pyyaml >= 6.0.2
33
importlib-metadata >= 1.0 ; python_version < '3.8'
44
pylint == 3.3.0 ; python_version >= '3.9'
55
pylint == 3.2.7 ; python_version == '3.8'
@@ -8,3 +8,5 @@ flake8 == 6.1.0 ; python_version >= '3.8'
88
flake8 == 5.0.4 ; python_version < '3.8'
99
codespell == 2.3.0 ; python_version >= '3.8'
1010
codespell == 2.2.5 ; python_version < '3.8'
11+
setuptools >= 75.3.2
12+
cmake == 3.15.3

0 commit comments

Comments
 (0)
Please sign in to comment.