Skip to content

Commit 8b8e580

Browse files
committed
ci: update GitHub Actions workflows (runners, fixes, stability)
1 parent fe042e7 commit 8b8e580

File tree

4 files changed

+111
-125
lines changed

4 files changed

+111
-125
lines changed

.github/workflows/check_on_push.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ 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-20.04
12+
runs-on: ubuntu-22.04
1313
steps:
14-
- uses: actions/checkout@master
14+
- uses: actions/checkout@v4
1515

1616
- name: Setup Tarantool CE
17-
uses: tarantool/setup-tarantool@v2
17+
uses: tarantool/setup-tarantool@v4
1818
with:
19-
tarantool-version: '2.10'
19+
tarantool-version: '2.11'
2020

2121
- name: Setup tt
2222
run: |

.github/workflows/push_rockspec.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,30 +14,30 @@ jobs:
1414
version-check:
1515
# We need this job to run only on push with tag.
1616
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') }}
17-
runs-on: ubuntu-20.04
17+
runs-on: ubuntu-22.04
1818
steps:
1919
- name: Check module version
2020
uses: tarantool/actions/check-module-version@master
2121
with:
2222
module-name: 'crud'
2323

2424
push-scm-rockspec:
25-
runs-on: ubuntu-20.04
25+
runs-on: ubuntu-22.04
2626
if: github.ref == 'refs/heads/master'
2727
steps:
28-
- uses: actions/checkout@master
28+
- uses: actions/checkout@v4
2929

3030
- uses: tarantool/rocks.tarantool.org/github-action@master
3131
with:
3232
auth: ${{ secrets.ROCKS_AUTH }}
3333
files: ${{ env.ROCK_NAME }}-scm-1.rockspec
3434

3535
push-tagged-rockspec:
36-
runs-on: ubuntu-20.04
36+
runs-on: ubuntu-22.04
3737
if: startsWith(github.ref, 'refs/tags')
3838
needs: version-check
3939
steps:
40-
- uses: actions/checkout@master
40+
- uses: actions/checkout@v4
4141

4242
# https://stackoverflow.com/questions/58177786/get-the-current-pushed-tag-in-github-actions
4343
- name: Set env

.github/workflows/reusable_test.yml

Lines changed: 1 addition & 3 deletions
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-22.04
1515

1616
steps:
1717
- name: Clone the crud module
@@ -39,8 +39,6 @@ jobs:
3939
4040
- name: Install requirements
4141
run: ./deps.sh
42-
env:
43-
VSHARD_VERSION: "0.1.26"
4442

4543
# This server starts and listen on 8084 port that is used for tests
4644
- name: Stop Mono server

.github/workflows/test_on_push.yaml

Lines changed: 101 additions & 113 deletions
Original file line numberDiff line numberDiff line change
@@ -10,51 +10,27 @@ jobs:
1010
github.event_name == 'push' ||
1111
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
1212
strategy:
13+
fail-fast: false
1314
matrix:
14-
# We need 1.10.6 here to check that module works with
15-
# old Tarantool versions that don't have "tuple-keydef"/"tuple-merger" support.
16-
# We test old metrics with Tarantool 2.10 because since Tarantool 2.11.1
17-
# it uses its own metrics package.
18-
# We test old metrics with Cartridge 2.7.9 because since 2.8.0 it
19-
# requires metrics 1.0.0.
20-
tarantool-version: ["1.10.6", "1.10", "2.8", "2.10", "2.11"]
21-
metrics-version: [""]
22-
cartridge-version: ["2.8.0"]
23-
external-tuple-merger-version: [""]
24-
external-tuple-keydef-version: [""]
2515
include:
26-
- tarantool-version: "1.10"
27-
metrics-version: "1.0.0"
28-
cartridge-version: "2.8.0"
29-
- tarantool-version: "2.7"
30-
cartridge-version: "2.8.0"
3116
- tarantool-version: "2.10"
32-
metrics-version: "0.10.0"
33-
cartridge-version: "2.7.9"
3417
- tarantool-version: "2.11"
3518
coveralls: true
36-
metrics-version: "1.0.0"
37-
cartridge-version: "2.8.0"
38-
- tarantool-version: "2.11"
39-
metrics-version: "1.0.0"
40-
vshard-version: "0.1.25"
4119
- tarantool-version: "2.11"
42-
external-merger-version: "0.0.5"
43-
external-keydef-version: "0.0.4"
44-
- tarantool-version: "3.0.0"
45-
vshard-version: "0.1.25"
20+
external-tuple-merger-version: "0.0.5"
21+
external-tuple-keydef-version: "0.0.4"
22+
- tarantool-version: "3.0"
23+
- tarantool-version: "3.1"
24+
- tarantool-version: "3.2"
25+
- tarantool-version: "3.3"
4626
- tarantool-version: "master"
47-
vshard-version: "0.1.26"
48-
fail-fast: false
49-
# Can't install older versions on 22.04,
50-
# see https://github.com/tarantool/setup-tarantool/issues/36
51-
runs-on: ubuntu-20.04
27+
runs-on: ubuntu-22.04
5228
steps:
53-
- uses: actions/checkout@master
29+
- uses: actions/checkout@v4
5430

5531
- name: Setup Tarantool CE (1.x, 2.x)
5632
if: ${{ startsWith( matrix.tarantool-version, '1.' ) || startsWith( matrix.tarantool-version, '2.' ) }}
57-
uses: tarantool/setup-tarantool@v2
33+
uses: tarantool/setup-tarantool@v4
5834
with:
5935
tarantool-version: ${{ matrix.tarantool-version }}
6036

@@ -67,7 +43,7 @@ jobs:
6743
- name: Cache Tarantool 3.x
6844
if: ${{ startsWith( matrix.tarantool-version, '3.' ) }}
6945
id: cache-v3
70-
uses: actions/cache@v3
46+
uses: actions/cache@v4
7147
with:
7248
path: "${GITHUB_WORKSPACE}/bin"
7349
key: cache-${{ matrix.tarantool-version }}
@@ -88,7 +64,7 @@ jobs:
8864
- name: Cache Tarantool master
8965
if: matrix.tarantool-version == 'master'
9066
id: cache-latest
91-
uses: actions/cache@v3
67+
uses: actions/cache@v4
9268
with:
9369
path: "${GITHUB_WORKSPACE}/bin"
9470
key: cache-latest-${{ env.LATEST_COMMIT }}
@@ -103,18 +79,10 @@ jobs:
10379
if: ${{ startsWith( matrix.tarantool-version, '3.' ) || matrix.tarantool-version == 'master' }}
10480
run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH
10581

106-
- name: Fix luarocks in Tarantool CE 1.10.6
107-
if: matrix.tarantool-version == '1.10.6'
108-
run: |
109-
sudo patch -p1 /usr/share/tarantool/luarocks/manif.lua luarocks.patch
110-
11182
- name: Install requirements for community
11283
run: |
11384
tarantool --version
11485
./deps.sh
115-
env:
116-
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
117-
VSHARD_VERSION: ${{ matrix.vshard-version }}
11886
11987
- name: Install metrics
12088
if: matrix.metrics-version != ''
@@ -138,32 +106,99 @@ jobs:
138106

139107
- name: Run tests
140108
if: matrix.coveralls != true # See https://github.com/actions/runner/issues/1173
141-
run: make -C build luatest-no-coverage
109+
uses: nick-fields/retry@v3
110+
with:
111+
max_attempts: 3
112+
retry_on: error
113+
retry_wait_seconds: 10
114+
timeout_minutes: 40
115+
command: |
116+
make -C build luatest-no-coverage
142117
143118
- name: Run tests with coverage and send results to coveralls.io
144-
run: make -C build coveralls
145119
if: ${{ matrix.coveralls }}
120+
uses: nick-fields/retry@v3
121+
with:
122+
max_attempts: 3
123+
retry_on: error
124+
retry_wait_seconds: 10
125+
timeout_minutes: 40
126+
command: |
127+
make -C build coveralls
128+
129+
run-tests-ee:
130+
if: github.event_name == 'push'
131+
strategy:
132+
fail-fast: false
133+
matrix:
134+
include:
135+
- tarantool-version:
136+
folder: "2.10"
137+
bundle: "tarantool-enterprise-sdk-gc64-2.10.8-0-r691.linux.x86_64"
138+
- tarantool-version:
139+
folder: "2.11"
140+
bundle: "tarantool-enterprise-sdk-gc64-2.11.7-0-r691.linux.x86_64"
141+
- tarantool-version:
142+
folder: "3.2"
143+
bundle: "tarantool-enterprise-sdk-gc64-3.2.0-0-r40.linux.x86_64"
144+
- tarantool-version:
145+
folder: "3.3"
146+
bundle: "tarantool-enterprise-sdk-gc64-3.3.2-0-r62.linux.x86_64"
147+
- tarantool-version:
148+
folder: "3.4"
149+
bundle: "tarantool-enterprise-sdk-gc64-3.4.0-0-r62.linux.x86_64"
150+
runs-on: ubuntu-22.04
151+
steps:
152+
- uses: actions/checkout@v4
153+
154+
- name: Install requirements for enterprise
155+
run: |
156+
curl -O -L https://tarantool:${{ secrets.DOWNLOAD_TOKEN }}@download.tarantool.io/enterprise/release/linux/x86_64/${{ matrix.tarantool-version.folder }}/${{ matrix.tarantool-version.bundle }}.tar.gz
157+
tar -xzf ${{ matrix.tarantool-version.bundle }}.tar.gz
158+
rm -f ${{ matrix.tarantool-version.bundle }}.tar.gz
159+
sudo cp tarantool-enterprise/tarantool /usr/bin/tarantool
160+
source tarantool-enterprise/env.sh
161+
tarantool --version
162+
./deps.sh
163+
164+
- name: Install metrics
165+
if: matrix.metrics-version != ''
166+
run: |
167+
source tarantool-enterprise/env.sh
168+
tt init
169+
tt rocks install metrics ${{ matrix.metrics-version }}
170+
171+
# This server starts and listen on 8084 port that is used for tests
172+
- name: Stop Mono server
173+
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true
174+
175+
- run: cmake -S . -B build
176+
177+
- name: Run tests
178+
uses: nick-fields/retry@v3
179+
with:
180+
max_attempts: 3
181+
retry_on: error
182+
retry_wait_seconds: 10
183+
timeout_minutes: 40
184+
command: |
185+
make -C build luatest-no-coverage
146186
147187
run-perf-tests-ce:
148188
if: |
149189
github.event_name == 'push' ||
150190
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
151191
strategy:
152-
matrix:
153-
tarantool-version: ["1.10", "2.11"]
154-
metrics-version: ["1.0.0"]
155-
cartridge-version: ["2.8.0"]
156-
include:
157-
- tarantool-version: "3.0.0"
158-
vshard-version: "0.1.25"
159192
fail-fast: false
160-
runs-on: ubuntu-20.04
193+
matrix:
194+
tarantool-version: [ "2.10", "2.11", "3.0", "3.1", "3.2", "3.3", "master" ]
195+
runs-on: ubuntu-22.04
161196
steps:
162-
- uses: actions/checkout@master
197+
- uses: actions/checkout@v4
163198

164199
- name: Setup Tarantool CE (1.x, 2.x)
165200
if: ${{ startsWith( matrix.tarantool-version, '1.' ) || startsWith( matrix.tarantool-version, '2.' ) }}
166-
uses: tarantool/setup-tarantool@v2
201+
uses: tarantool/setup-tarantool@v4
167202
with:
168203
tarantool-version: ${{ matrix.tarantool-version }}
169204

@@ -176,7 +211,7 @@ jobs:
176211
- name: Cache Tarantool 3.x
177212
if: ${{ startsWith( matrix.tarantool-version, '3.' ) }}
178213
id: cache-v3
179-
uses: actions/cache@v3
214+
uses: actions/cache@v4
180215
with:
181216
path: "${GITHUB_WORKSPACE}/bin"
182217
key: cache-${{ matrix.tarantool-version }}
@@ -197,7 +232,7 @@ jobs:
197232
- name: Cache Tarantool master
198233
if: matrix.tarantool-version == 'master'
199234
id: cache-latest
200-
uses: actions/cache@v3
235+
uses: actions/cache@v4
201236
with:
202237
path: "${GITHUB_WORKSPACE}/bin"
203238
key: cache-latest-${{ env.LATEST_COMMIT }}
@@ -216,9 +251,6 @@ jobs:
216251
run: |
217252
tarantool --version
218253
./deps.sh
219-
env:
220-
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
221-
VSHARD_VERSION: ${{ matrix.vshard-version }}
222254
223255
- name: Install metrics
224256
if: matrix.metrics-version != ''
@@ -231,55 +263,11 @@ jobs:
231263
- run: cmake -S . -B build
232264

233265
- name: Run performance tests
234-
run: make -C build performance
235-
236-
run-tests-ee:
237-
if: github.event_name == 'push'
238-
strategy:
239-
matrix:
240-
tarantool-version:
241-
- folder: "1.10"
242-
bundle: "tarantool-enterprise-sdk-1.10.15-0-r609"
243-
- folder: "2.11"
244-
bundle: "tarantool-enterprise-sdk-nogc64-2.11.2-0-r609.linux.x86_64"
245-
metrics-version: ["", "1.0.0"]
246-
cartridge-version: ["2.8.0"]
247-
include:
248-
- tarantool-version:
249-
folder: "3.0"
250-
bundle: "tarantool-enterprise-sdk-gc64-3.0.0-0-gf58f7d82a-r23.linux.x86_64"
251-
vshard-version: "0.1.25"
252-
253-
fail-fast: false
254-
runs-on: ubuntu-20.04
255-
steps:
256-
- uses: actions/checkout@master
257-
258-
- name: Install requirements for enterprise
259-
run: |
260-
curl -O -L https://tarantool:${{ secrets.DOWNLOAD_TOKEN }}@download.tarantool.io/enterprise/release/linux/x86_64/${{ matrix.tarantool-version.folder }}/${{ matrix.tarantool-version.bundle }}.tar.gz
261-
tar -xzf ${{ matrix.tarantool-version.bundle }}.tar.gz
262-
rm -f ${{ matrix.tarantool-version.bundle }}.tar.gz
263-
sudo cp tarantool-enterprise/tarantool /usr/bin/tarantool
264-
source tarantool-enterprise/env.sh
265-
tarantool --version
266-
./deps.sh
267-
env:
268-
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
269-
VSHARD_VERSION: ${{ matrix.vshard-version }}
270-
271-
- name: Install metrics
272-
if: matrix.metrics-version != ''
273-
run: |
274-
source tarantool-enterprise/env.sh
275-
tt init
276-
tt rocks install metrics ${{ matrix.metrics-version }}
277-
278-
# This server starts and listen on 8084 port that is used for tests
279-
- name: Stop Mono server
280-
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true
281-
282-
- run: cmake -S . -B build
283-
284-
- name: Run tests
285-
run: make -C build luatest-no-coverage
266+
uses: nick-fields/retry@v3
267+
with:
268+
max_attempts: 3
269+
retry_on: error
270+
retry_wait_seconds: 10
271+
timeout_minutes: 60
272+
command: |
273+
make -C build performance

0 commit comments

Comments
 (0)