@@ -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
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 }}
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