Skip to content

Commit 0e4e79c

Browse files
authored
Improve Integration Test Suite Resilience (#273)
* Improve Integration Test Suite Resiliency
1 parent 990f4af commit 0e4e79c

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

.github/workflows/tests.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,9 @@ jobs:
3232
- name: Start Docker containers
3333
run: dev/up
3434

35+
# retries are added due to test failures with dependencies
3536
- name: Run tests
36-
run: swift test --vv
37+
run: script/run_tests.sh
3738

3839
- name: Stop local test server
3940
run: docker-compose -p xmtp-ios -f dev/local/docker-compose.yml down

script/run_tests.sh

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
3+
retries=0
4+
# Given the resource limitations and external dependencies for the test suite,
5+
# a retry count of at least 10 is needed.
6+
until [ $retries -ge 10 ]
7+
do
8+
echo "Running Test Suite Attempt ($retries)...."
9+
swift test -v | grep -E "Test Case|XCTAssert|failures"
10+
11+
exit_code=$?
12+
13+
if [ $exit_code -eq 0 ]; then
14+
echo "Test Succeeded"
15+
break
16+
else
17+
((retries=retries+1))
18+
echo "Test Suite Failed."
19+
fi
20+
done
21+
22+
if [ $retries -ge 10 ]; then
23+
echo "Maximum number of retries exceeded. Exiting with status code 1."
24+
exit 1
25+
fi

0 commit comments

Comments
 (0)