Skip to content

Commit a31ba0a

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. This commit adds CMake policy to prevent warnings from old third_party dependencies, bumps libmemcached third_party library to support build on Ubuntu 24.04. Part of #TNTP-1918
1 parent c5fd957 commit a31ba0a

File tree

9 files changed

+43
-39
lines changed

9 files changed

+43
-39
lines changed

.github/workflows/check.yaml

+10-5
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,22 @@ jobs:
99
if: |
1010
github.event_name == 'push' ||
1111
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
12-
runs-on: ubuntu-22.04
12+
runs-on: ubuntu-24.04
1313
steps:
14-
- uses: actions/checkout@v2
14+
- uses: actions/checkout@v4
1515

1616
- name: Setup Tarantool
17-
uses: tarantool/setup-tarantool@v1
17+
uses: tarantool/setup-tarantool@v3
1818
with:
19-
tarantool-version: '2.8'
19+
tarantool-version: '3.3'
2020

2121
- name: Setup luacheck
22-
run: tarantoolctl rocks install luacheck 0.25.0
22+
run: |
23+
sudo apt update
24+
sudo apt install curl
25+
curl -L https://tarantool.io/release/3/installer.sh | bash
26+
sudo apt install -y tt
27+
tt rocks install luacheck 0.25.0
2328
2429
- run: cmake -S . -B build
2530

.github/workflows/packaging.yml

+4-7
Original file line numberDiff line numberDiff line change
@@ -17,32 +17,29 @@ jobs:
1717
platform:
1818
- { os: 'almalinux', dist: '8'}
1919
- { os: 'almalinux', dist: '9'}
20-
- { os: 'debian', dist: 'stretch' }
21-
- { os: 'debian', dist: 'buster' }
2220
- { os: 'debian', dist: 'bullseye' }
23-
- { os: 'el', dist: '7' }
21+
- { os: 'debian', dist: 'bookworm' }
2422
- { os: 'el', dist: '8' }
25-
- { os: 'fedora', dist: '34' }
2623
- { os: 'fedora', dist: '35' }
2724
- { os: 'fedora', dist: '36' }
28-
- { os: 'ubuntu', dist: 'xenial' }
2925
- { os: 'ubuntu', dist: 'bionic' }
3026
- { os: 'ubuntu', dist: 'focal' }
3127
- { os: 'ubuntu', dist: 'jammy' }
28+
- { os: 'ubuntu', dist: 'noble' }
3229

3330
env:
3431
OS: ${{ matrix.platform.os }}
3532
DIST: ${{ matrix.platform.dist }}
3633

3734
steps:
3835
- name: Clone the module
39-
uses: actions/checkout@v3
36+
uses: actions/checkout@v4
4037
with:
4138
fetch-depth: 0
4239
submodules: recursive
4340

4441
- name: Clone the packpack tool
45-
uses: actions/checkout@v3
42+
uses: actions/checkout@v4
4643
with:
4744
repository: packpack/packpack
4845
path: packpack

.github/workflows/publish.yml

+12-7
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,19 @@ on:
88
jobs:
99
publish-rockspec-scm-1:
1010
if: github.ref == 'refs/heads/master'
11-
runs-on: ubuntu-latest
11+
runs-on: ubuntu-24.04
1212
steps:
13-
- uses: actions/checkout@v3
13+
- uses: actions/checkout@v4
1414
- uses: tarantool/rocks.tarantool.org/github-action@master
1515
with:
1616
auth: ${{ secrets.ROCKS_AUTH }}
1717
files: memcached-scm-1.rockspec
1818

1919
publish-rockspec-tag:
2020
if: startsWith(github.ref, 'refs/tags/')
21-
runs-on: ubuntu-latest
21+
runs-on: ubuntu-24.04
2222
steps:
23-
- uses: actions/checkout@v3
23+
- uses: actions/checkout@v4
2424

2525
# Create a rockspec for the release.
2626
- run: printf '%s=%s\n' TAG "${GITHUB_REF##*/}" >> "${GITHUB_ENV}"
@@ -48,10 +48,15 @@ jobs:
4848
# LuaJIT's FFI and tarantool specific features are okay.
4949
#
5050
# [1]: https://github.com/luarocks/luarocks/wiki/Types-of-rocks
51-
- uses: tarantool/setup-tarantool@v2
51+
- uses: tarantool/setup-tarantool@v3
5252
with:
53-
tarantool-version: '2.10'
54-
- run: tarantoolctl rocks pack memcached-${{ env.TAG }}-1.rockspec
53+
tarantool-version: '3.3'
54+
- run: |
55+
sudo apt update
56+
sudo apt install curl
57+
curl -L https://tarantool.io/release/3/installer.sh | bash
58+
sudo apt install -y tt
59+
tt rocks pack memcached-${{ env.TAG }}-1.rockspec
5560
5661
# Upload .rockspec and .src.rock.
5762
- uses: tarantool/rocks.tarantool.org/github-action@master

.github/workflows/reusable_testing.yml

+1-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 memcached module
1717
uses: actions/checkout@v4

.github/workflows/testing.yaml

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ jobs:
1111
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
1212
strategy:
1313
matrix:
14-
tarantool-version: ['1.10', '2.2', '2.3', '2.4', '2.5', '2.6', '2.7', '2.8', '2.x-latest']
14+
tarantool-version: ['2.11', '3.3']
1515
fail-fast: false
16-
runs-on: [ubuntu-20.04]
16+
runs-on: [ubuntu-24.04]
1717
steps:
1818
- name: Clone the repository
19-
uses: actions/checkout@v2
19+
uses: actions/checkout@v4
2020
with:
2121
repository: ${{ github.repository_owner }}/memcached
2222
# Enable recursive submodules checkout as test-run git module is used
@@ -25,7 +25,7 @@ jobs:
2525

2626
- name: Setup Tarantool (version is not equal to latest 2.x)
2727
if: matrix.tarantool-version != '2.x-latest'
28-
uses: tarantool/setup-tarantool@v1
28+
uses: tarantool/setup-tarantool@v3
2929
with:
3030
tarantool-version: ${{ matrix.tarantool-version }}
3131

@@ -36,14 +36,14 @@ jobs:
3636
sudo apt install -y tarantool tarantool-dev
3737
3838
- name: Install build requirements
39-
run: sudo apt-get -y install libsasl2-dev libevent-dev
39+
run: sudo apt-get -y install libsasl2-dev libevent-dev libpcre3-dev
4040

4141
- run: cmake .
4242

4343
- name: Setup Python 3 for tests
44-
uses: actions/setup-python@v2
44+
uses: actions/setup-python@v5
4545
with:
46-
python-version: 3.7
46+
python-version: 3.9
4747

4848
- name: Install test requirements
4949
run: pip install -r test-run/requirements.txt

CMakeLists.txt

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.10...3.31 FATAL_ERROR)
22

33
project(memcached C)
44

55
if(NOT CMAKE_BUILD_TYPE)
66
set(CMAKE_BUILD_TYPE Debug)
77
endif()
88

9+
# Fix problem with old third_party dependencies
10+
set(CMAKE_POLICY_VERSION_MINIMUM 3.5)
11+
912
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
1013

1114
# Find Tarantool and Lua dependencies

debian/prebuild.sh

+2-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
#!/bin/bash
22

3-
set -exu # Strict shell (w/o -o pipefail)
3+
set -e -o pipefail
44

5-
# At the time of adding the changes, tarantool 1.10 is absent in the
6-
# repositories Ubuntu impish and jammy.
7-
if [[ $DIST == "impish" ]] || [[ $DIST == "jammy" ]]; then
8-
curl -LsSf https://www.tarantool.io/release/2/installer.sh | sudo bash
9-
else
10-
curl -LsSf https://www.tarantool.io/release/1.10/installer.sh | sudo bash
11-
fi
5+
curl -LsSf https://www.tarantool.io/release/2/installer.sh | sudo bash

rpm/prebuild.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ if [[ "$os" == "almalinux" && "$dist" == 9* ]]; then
1717
sudo sh -c "echo 8 > /etc/centos-release"
1818
curl -LsSf https://tarantool.io/release/3/installer.sh | sudo bash
1919
else
20-
# We need to execute the 1.10 script due to it works for other platforms.
21-
curl -LsSf https://tarantool.io/release/1.10/installer.sh | sudo bash
20+
# We need to execute the 2 script due to it works for other platforms.
21+
curl -LsSf https://tarantool.io/release/2/installer.sh | sudo bash
2222
fi

0 commit comments

Comments
 (0)