@@ -218,252 +218,6 @@ jobs:
218218 name : cluster-log-manual-create-schema-java${{ matrix.java }}-${{ runner.os }}-${{ matrix.cluster1 }}-${{ matrix.cluster2 }}
219219 path : integration-test/target/cluster-logs
220220 retention-days : 30
221- subscription-arch-verification :
222- strategy :
223- fail-fast : false
224- max-parallel : 15
225- matrix :
226- java : [ 17 ]
227- # StrongConsistencyClusterMode is ignored now because RatisConsensus has not been supported yet.
228- cluster1 : [ ScalableSingleNodeMode ]
229- cluster2 : [ ScalableSingleNodeMode ]
230- os : [ ubuntu-latest ]
231- runs-on : ${{ matrix.os }}
232- steps :
233- - uses : actions/checkout@v4
234- - name : Set up JDK ${{ matrix.java }}
235- uses : actions/setup-java@v4
236- with :
237- distribution : liberica
238- java-version : ${{ matrix.java }}
239- - name : Cache Maven packages
240- uses : actions/cache@v4
241- with :
242- path : ~/.m2
243- key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
244- restore-keys : ${{ runner.os }}-m2-
245- - name : Sleep for a random duration between 0 and 10000 milliseconds
246- run : |
247- sleep $(( $(( RANDOM % 10000 + 1 )) / 1000))
248- - name : IT Test
249- shell : bash
250- # we do not compile client-cpp for saving time, it is tested in client.yml
251- # we can skip influxdb-protocol because it has been tested separately in influxdb-protocol.yml
252- run : |
253- retry() {
254- local -i max_attempts=3
255- local -i attempt=1
256- local -i retry_sleep=5
257- local test_output
258-
259- while [ $attempt -le $max_attempts ]; do
260- mvn clean verify \
261- -P with-integration-tests \
262- -DskipUTs \
263- -DintegrationTest.forkCount=1 -DConfigNodeMaxHeapSize=256 -DDataNodeMaxHeapSize=1024 -DDataNodeMaxDirectMemorySize=768 \
264- -DClusterConfigurations=${{ matrix.cluster1 }},${{ matrix.cluster2 }} \
265- -pl integration-test \
266- -am -PMultiClusterIT2SubscriptionArchVerification \
267- -ntp >> ~/run-tests-$attempt.log && return 0
268- test_output=$(cat ~/run-tests-$attempt.log)
269-
270- mv ~/run-tests-$attempt.log integration-test/target/cluster-logs/
271-
272- echo "==================== BEGIN: ~/run-tests-$attempt.log ===================="
273- echo "$test_output"
274- echo "==================== END: ~/run-tests-$attempt.log ======================"
275-
276- if echo "$test_output" | grep -q "Could not transfer artifact"; then
277- if [ $attempt -lt $max_attempts ]; then
278- echo "Test failed with artifact transfer issue, attempt $attempt. Retrying in $retry_sleep seconds..."
279- sleep $retry_sleep
280- attempt=$((attempt + 1))
281- else
282- echo "Test failed after $max_attempts attempts due to artifact transfer issue."
283- echo "Treating this as a success because the issue is likely transient."
284- return 0
285- fi
286- elif [ $? -ne 0 ]; then
287- echo "Test failed with a different error."
288- return 1
289- else
290- echo "Tests passed"
291- return 0
292- fi
293- done
294- }
295- retry
296- - name : Upload Artifact
297- if : failure()
298- uses : actions/upload-artifact@v4
299- with :
300- name : cluster-log-subscription-java${{ matrix.java }}-${{ runner.os }}-${{ matrix.cluster1 }}-${{ matrix.cluster2 }}
301- path : integration-test/target/cluster-logs
302- retention-days : 30
303- subscription-regression-consumer :
304- strategy :
305- fail-fast : false
306- max-parallel : 15
307- matrix :
308- java : [ 17 ]
309- # do not use HighPerformanceMode here, otherwise some tests will cause the GH runner to receive a shutdown signal
310- cluster1 : [ ScalableSingleNodeMode ]
311- cluster2 : [ ScalableSingleNodeMode ]
312- os : [ ubuntu-latest ]
313- runs-on : ${{ matrix.os }}
314- steps :
315- - uses : actions/checkout@v4
316- - name : Set up JDK ${{ matrix.java }}
317- uses : actions/setup-java@v4
318- with :
319- distribution : liberica
320- java-version : ${{ matrix.java }}
321- - name : Cache Maven packages
322- uses : actions/cache@v4
323- with :
324- path : ~/.m2
325- key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
326- restore-keys : ${{ runner.os }}-m2-
327- - name : Sleep for a random duration between 0 and 10000 milliseconds
328- run : |
329- sleep $(( $(( RANDOM % 10000 + 1 )) / 1000))
330- - name : IT Test
331- shell : bash
332- # we do not compile client-cpp for saving time, it is tested in client.yml
333- # we can skip influxdb-protocol because it has been tested separately in influxdb-protocol.yml
334- run : |
335- retry() {
336- local -i max_attempts=3
337- local -i attempt=1
338- local -i retry_sleep=5
339- local test_output
340-
341- while [ $attempt -le $max_attempts ]; do
342- mvn clean verify \
343- -P with-integration-tests \
344- -DskipUTs \
345- -DintegrationTest.forkCount=1 -DConfigNodeMaxHeapSize=256 -DDataNodeMaxHeapSize=1024 -DDataNodeMaxDirectMemorySize=768 \
346- -DClusterConfigurations=${{ matrix.cluster1 }},${{ matrix.cluster2 }} \
347- -pl integration-test \
348- -am -PMultiClusterIT2SubscriptionRegressionConsumer \
349- -ntp >> ~/run-tests-$attempt.log && return 0
350- test_output=$(cat ~/run-tests-$attempt.log)
351-
352- mv ~/run-tests-$attempt.log integration-test/target/cluster-logs/
353-
354- echo "==================== BEGIN: ~/run-tests-$attempt.log ===================="
355- echo "$test_output"
356- echo "==================== END: ~/run-tests-$attempt.log ======================"
357-
358- if echo "$test_output" | grep -q "Could not transfer artifact"; then
359- if [ $attempt -lt $max_attempts ]; then
360- echo "Test failed with artifact transfer issue, attempt $attempt. Retrying in $retry_sleep seconds..."
361- sleep $retry_sleep
362- attempt=$((attempt + 1))
363- else
364- echo "Test failed after $max_attempts attempts due to artifact transfer issue."
365- echo "Treating this as a success because the issue is likely transient."
366- return 0
367- fi
368- elif [ $? -ne 0 ]; then
369- echo "Test failed with a different error."
370- return 1
371- else
372- echo "Tests passed"
373- return 0
374- fi
375- done
376- }
377- retry
378- - name : Upload Artifact
379- if : failure()
380- uses : actions/upload-artifact@v4
381- with :
382- name : cluster-log-subscription-regression-consumer-java${{ matrix.java }}-${{ runner.os }}-${{ matrix.cluster1 }}-${{ matrix.cluster2 }}
383- path : integration-test/target/cluster-logs
384- retention-days : 30
385- subscription-regression-misc :
386- strategy :
387- fail-fast : false
388- max-parallel : 15
389- matrix :
390- java : [ 17 ]
391- # do not use HighPerformanceMode here, otherwise some tests will cause the GH runner to receive a shutdown signal
392- cluster1 : [ ScalableSingleNodeMode ]
393- cluster2 : [ ScalableSingleNodeMode ]
394- os : [ ubuntu-latest ]
395- runs-on : ${{ matrix.os }}
396- steps :
397- - uses : actions/checkout@v4
398- - name : Set up JDK ${{ matrix.java }}
399- uses : actions/setup-java@v4
400- with :
401- distribution : liberica
402- java-version : ${{ matrix.java }}
403- - name : Cache Maven packages
404- uses : actions/cache@v4
405- with :
406- path : ~/.m2
407- key : ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
408- restore-keys : ${{ runner.os }}-m2-
409- - name : Sleep for a random duration between 0 and 10000 milliseconds
410- run : |
411- sleep $(( $(( RANDOM % 10000 + 1 )) / 1000))
412- - name : IT Test
413- shell : bash
414- # we do not compile client-cpp for saving time, it is tested in client.yml
415- # we can skip influxdb-protocol because it has been tested separately in influxdb-protocol.yml
416- run : |
417- retry() {
418- local -i max_attempts=3
419- local -i attempt=1
420- local -i retry_sleep=5
421- local test_output
422-
423- while [ $attempt -le $max_attempts ]; do
424- mvn clean verify \
425- -P with-integration-tests \
426- -DskipUTs \
427- -DintegrationTest.forkCount=1 -DConfigNodeMaxHeapSize=256 -DDataNodeMaxHeapSize=1024 -DDataNodeMaxDirectMemorySize=768 \
428- -DClusterConfigurations=${{ matrix.cluster1 }},${{ matrix.cluster2 }} \
429- -pl integration-test \
430- -am -PMultiClusterIT2SubscriptionRegressionMisc \
431- -ntp >> ~/run-tests-$attempt.log && return 0
432- test_output=$(cat ~/run-tests-$attempt.log)
433-
434- mv ~/run-tests-$attempt.log integration-test/target/cluster-logs/
435-
436- echo "==================== BEGIN: ~/run-tests-$attempt.log ===================="
437- echo "$test_output"
438- echo "==================== END: ~/run-tests-$attempt.log ======================"
439-
440- if echo "$test_output" | grep -q "Could not transfer artifact"; then
441- if [ $attempt -lt $max_attempts ]; then
442- echo "Test failed with artifact transfer issue, attempt $attempt. Retrying in $retry_sleep seconds..."
443- sleep $retry_sleep
444- attempt=$((attempt + 1))
445- else
446- echo "Test failed after $max_attempts attempts due to artifact transfer issue."
447- echo "Treating this as a success because the issue is likely transient."
448- return 0
449- fi
450- elif [ $? -ne 0 ]; then
451- echo "Test failed with a different error."
452- return 1
453- else
454- echo "Tests passed"
455- return 0
456- fi
457- done
458- }
459- retry
460- - name : Upload Artifact
461- if : failure()
462- uses : actions/upload-artifact@v4
463- with :
464- name : cluster-log-subscription-regression-misc-java${{ matrix.java }}-${{ runner.os }}-${{ matrix.cluster1 }}-${{ matrix.cluster2 }}
465- path : integration-test/target/cluster-logs
466- retention-days : 30
467221 table-model :
468222 strategy :
469223 fail-fast : false
@@ -544,4 +298,4 @@ jobs:
544298 with :
545299 name : cluster-log-table-model-java${{ matrix.java }}-${{ runner.os }}-${{ matrix.cluster }}-${{ matrix.cluster }}
546300 path : integration-test/target/cluster-logs
547- retention-days : 30
301+ retention-days : 30
0 commit comments