@@ -160,7 +160,7 @@ jobs:
160
160
- name : Checkout source
161
161
uses : actions/checkout@v4
162
162
163
- - name : Set up JDK 8
163
+ - name : Set up JDK ${{ matrix.java-version }}
164
164
uses : actions/setup-java@v4
165
165
with :
166
166
java-version : ${{ matrix.java-version }}
@@ -185,47 +185,56 @@ jobs:
185
185
id : cassandra-version
186
186
run : |
187
187
if [[ "${{ matrix.cassandra-version }}" == "RELEASE-3.X" ]]; then
188
- echo "value=$(python3 ci/version_fetch.py --version-index 1 cassandra3-stable:1)" >> $GITHUB_OUTPUT
188
+ echo "value=$(python3 ci/version_fetch.py --version-index 1 cassandra3-stable:1 | tr -d '\"' )" >> $GITHUB_OUTPUT
189
189
elif [[ "${{ matrix.cassandra-version }}" == "RELEASE-4.X" ]]; then
190
- echo "value=$(python3 ci/version_fetch.py --version-index 1 cassandra4-stable:1)" >> $GITHUB_OUTPUT
190
+ echo "value=$(python3 ci/version_fetch.py --version-index 1 cassandra4-stable:1 | tr -d '\"' )" >> $GITHUB_OUTPUT
191
191
else
192
192
echo "Unknown cassandra version name `${{ matrix.cassandra-version }}`"
193
193
fi
194
194
195
- - name : Restore CCM image cache
195
+ - name : Pull CCM image from the cache
196
196
uses : actions/cache/restore@v4
197
197
id : ccm-cache
198
198
with :
199
199
path : ~/.ccm/repository
200
200
key : ccm-cassandra-${{ runner.os }}-${{ steps.cassandra-version.outputs.value }}
201
201
202
- - name : Run integration tests on Cassandra (${{ steps.cassandra-version.outputs.value }})
203
- run : mvn -B -e verify -Dccm.version=${{ steps.cassandra-version.outputs.value }} -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true
202
+ - name : Download Cassandra (${{ steps.cassandra-version.outputs.value }}) image
203
+ if : steps.ccm-cache.outputs.cache-hit != 'true'
204
+ run : |
205
+ rm -rf /tmp/download.ccm || true
206
+ mkdir /tmp/download.ccm || true
207
+ ccm create ccm_1 -i 127.0.1. -n 3:0 -v "${{ steps.cassandra-version.outputs.value }}" --config-dir=/tmp/download.ccm
208
+ rm -rf /tmp/download.ccm
204
209
205
- - name : Save CCM image cache
206
- uses : actions/cache/save@v4
210
+ - name : Save CCM image into the cache
207
211
if : steps.ccm-cache.outputs.cache-hit != 'true'
212
+ uses : actions/cache/save@v4
208
213
with :
209
214
path : ~/.ccm/repository
210
215
key : ccm-cassandra-${{ runner.os }}-${{ steps.cassandra-version.outputs.value }}
211
216
217
+ - name : Run integration tests on Cassandra (${{ steps.cassandra-version.outputs.value }})
218
+ id : run-integration-tests
219
+ run : mvn -B -e verify -Dccm.version=${{ steps.cassandra-version.outputs.value }} -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true
220
+
212
221
- name : Copy test results
213
- if : success() || failure()
222
+ if : steps.run-integration-tests.outcome == ' failure'
214
223
run : |
215
224
shopt -s globstar
216
225
mkdir cassandra-${{ matrix.cassandra-version }}
217
226
cp --parents ./**/target/*-reports/*.xml cassandra-${{ matrix.cassandra-version }}/
218
227
219
228
- name : Upload test results
229
+ if : steps.run-integration-tests.outcome == 'failure'
220
230
uses : actions/upload-artifact@v4
221
- if : success() || failure()
222
231
with :
223
232
name : test-results-${{ matrix.java-version }}-${{ matrix.cassandra-version }}
224
233
path : " */**/target/*-reports/*.xml"
225
234
226
235
- name : Upload CCM logs
227
236
uses : actions/upload-artifact@v4
228
- if : ${{ failure() }}
237
+ if : failure()
229
238
with :
230
239
name : ccm-log-cassandra-${{ matrix.java-version }}-${{ matrix.cassandra-version }}
231
240
path : /tmp/ccm*/ccm*/node*/logs/*
@@ -238,15 +247,15 @@ jobs:
238
247
239
248
strategy :
240
249
matrix :
241
- scylla-version : [ENTERPRISE-RELEASE, ENTERPRISE-PRIOR-RELEASE, OSS-RELEASE, OSS-PRIOR-RELEASE, ENTERPRISE-RC, OSS-RC ]
250
+ scylla-version : [ENTERPRISE-RELEASE, ENTERPRISE-PRIOR-RELEASE, OSS-RELEASE, OSS-PRIOR-RELEASE]
242
251
java-version : [8]
243
252
fail-fast : false
244
253
245
254
steps :
246
255
- name : Checkout source
247
256
uses : actions/checkout@v4
248
257
249
- - name : Set up JDK 8
258
+ - name : Set up JDK ${{ matrix.java-version }}
250
259
uses : actions/setup-java@v4
251
260
with :
252
261
java-version : ${{ matrix.java-version }}
@@ -272,56 +281,65 @@ jobs:
272
281
id : scylla-version
273
282
run : |
274
283
if [[ "${{ matrix.scylla-version }}" == "ENTERPRISE-RELEASE" ]]; then
275
- echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-enterprise-stable:1)" >> $GITHUB_OUTPUT
284
+ echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-enterprise-stable:1 | tr -d '\"' )" >> $GITHUB_OUTPUT
276
285
elif [[ "${{ matrix.scylla-version }}" == "ENTERPRISE-PRIOR-RELEASE" ]]; then
277
- echo "value=$(python3 ci/version_fetch.py --version-index 2 scylla-enterprise-stable:2)" >> $GITHUB_OUTPUT
286
+ echo "value=$(python3 ci/version_fetch.py --version-index 2 scylla-enterprise-stable:2 | tr -d '\"' )" >> $GITHUB_OUTPUT
278
287
elif [[ "${{ matrix.scylla-version }}" == "ENTERPRISE-RC" ]]; then
279
- echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-enterprise-rc)" >> $GITHUB_OUTPUT
288
+ echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-enterprise-rc | tr -d '\"' )" >> $GITHUB_OUTPUT
280
289
elif [[ "${{ matrix.scylla-version }}" == "OSS-RELEASE" ]]; then
281
- echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-oss-stable:1)" >> $GITHUB_OUTPUT
290
+ echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-oss-stable:1 | tr -d '\"' )" >> $GITHUB_OUTPUT
282
291
elif [[ "${{ matrix.scylla-version }}" == "OSS-PRIOR-RELEASE" ]]; then
283
- echo "value=$(python3 ci/version_fetch.py --version-index 2 scylla-oss-stable:2)" >> $GITHUB_OUTPUT
292
+ echo "value=$(python3 ci/version_fetch.py --version-index 2 scylla-oss-stable:2 | tr -d '\"' )" >> $GITHUB_OUTPUT
284
293
elif [[ "${{ matrix.scylla-version }}" == "OSS-RC" ]]; then
285
- echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-oss-rc)" >> $GITHUB_OUTPUT
294
+ echo "value=$(python3 ci/version_fetch.py --version-index 1 scylla-oss-rc | tr -d '\"' )" >> $GITHUB_OUTPUT
286
295
else
287
296
echo "Unknown scylla version name `${{ matrix.scylla-version }}`"
288
297
exit 1
289
298
fi
290
299
291
- - name : Restore CCM image cache
300
+ - name : Pull CCM image from the cache
292
301
uses : actions/cache/restore@v4
293
302
id : ccm-cache
294
303
with :
295
304
path : ~/.ccm/repository
296
305
key : ccm-scylla-${{ runner.os }}-${{ steps.scylla-version.outputs.value }}
297
306
298
- - name : Run integration tests on Scylla (${{ steps.scylla-version.outputs.value }})
299
- run : mvn -B verify -Dccm.version=${{ steps.scylla-version.outputs.value }} -Dccm.scylla=true -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true
307
+ - name : Download Scylla (${{ steps.scylla-version.outputs.value }}) image
308
+ if : steps.ccm-cache.outputs.cache-hit != 'true'
309
+ run : |
310
+ rm -rf /tmp/download.ccm || true
311
+ mkdir /tmp/download.ccm || true
312
+ ccm create ccm_1 -i 127.0.1. -n 3:0 -v "release:${{ steps.scylla-version.outputs.value }}" --scylla --config-dir=/tmp/download.ccm
313
+ rm -rf /tmp/download.ccm
300
314
301
- - name : Save CCM image cache
315
+ - name : Save CCM image into the cache
302
316
uses : actions/cache/save@v4
303
317
if : steps.ccm-cache.outputs.cache-hit != 'true'
304
318
with :
305
319
path : ~/.ccm/repository
306
320
key : ccm-scylla-${{ runner.os }}-${{ steps.scylla-version.outputs.value }}
307
321
322
+ - name : Run integration tests on Scylla (${{ steps.scylla-version.outputs.value }})
323
+ id : run-integration-tests
324
+ run : mvn -B verify -Dccm.version=${{ steps.scylla-version.outputs.value }} -Dccm.scylla=true -Dfmt.skip=true -Dclirr.skip=true -Danimal.sniffer.skip=true
325
+
308
326
- name : Copy test results
309
- if : success() || failure()
327
+ if : steps.run-integration-tests.outcome == ' failure'
310
328
run : |
311
329
shopt -s globstar
312
330
mkdir scylla-${{ matrix.scylla-version }}
313
331
cp --parents ./**/target/*-reports/*.xml scylla-${{ matrix.scylla-version }}/
314
332
315
333
- name : Upload test results
316
334
uses : actions/upload-artifact@v4
317
- if : success() || failure()
335
+ if : steps.run-integration-tests.outcome == ' failure'
318
336
with :
319
337
name : test-results-${{ matrix.java-version }}-${{ matrix.scylla-version }}
320
338
path : " */**/target/*-reports/*.xml"
321
339
322
340
- name : Upload CCM logs
323
341
uses : actions/upload-artifact@v4
324
- if : ${{ failure() }}
342
+ if : failure()
325
343
with :
326
344
name : ccm-log-scylla-${{ matrix.java-version }}-${{ matrix.scylla-version }}
327
345
path : /tmp/ccm*/ccm*/node*/logs/*
0 commit comments