From 8ad47897d1f5579a3c9d75e4d7d234474fc54bbd Mon Sep 17 00:00:00 2001 From: "liang.he" Date: Wed, 14 May 2025 11:09:08 +0800 Subject: [PATCH] Add error handling for sgx ci (#4222) > Process completed with exit code 143. It will attempt to run spec test scripts three times if they end with code 143. It is a known issue with GitHub-hosted runners. Usually, increasing the swap file can help avoid it. However, sometimes error 143 still occurs. To prevent confusion, let's capture error 143 and allow the CI to pass. --- .github/workflows/compilation_on_sgx.yml | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compilation_on_sgx.yml b/.github/workflows/compilation_on_sgx.yml index 541f7a28..e6cc2910 100644 --- a/.github/workflows/compilation_on_sgx.yml +++ b/.github/workflows/compilation_on_sgx.yml @@ -290,6 +290,28 @@ jobs: - name: run spec tests run: | + set +e source /opt/intel/sgxsdk/environment - ./test_wamr.sh ${{ matrix.test_option }} -t ${{ matrix.running_mode }} + attempts=0 + max_attempts=3 + + while [ $attempts -lt $max_attempts ]; do + ./test_wamr.sh ${{ matrix.test_option }} -t ${{ matrix.running_mode }} + exitcode="$?" + + if [ $exitcode -eq 0 ]; then + echo "Spec test passed" + exit 0 + elif [ $exitcode -ne 143 ]; then + echo "Spec test failed with error code $exitcode" + exit 1 + fi + + echo "$exitcode is a known GitHub-hosted runner issue" + echo "::notice::Re-running the spec test due to error code 143" + attempts=$((attempts + 1)) + done + + echo "::notice::Report an error with code 143 in SGX CI after $max_attempts attempts" + exit 143 working-directory: ./tests/wamr-test-suites