RN: Make `retry3` Portable in CI Scripts
Summary: Moves the `retry3` utility function into its own file so that it can be reused in other steps that are not related to Android. Changelog: [Internal] Reviewed By: rickhanlonii, cipolleschi Differential Revision: D39889996 fbshipit-source-id: bf79cc19ad6178af0a0d8117a81116e0c32f4333
This commit is contained in:
Родитель
7f061f8651
Коммит
833661452d
|
@ -33,7 +33,7 @@ node cli.js bundle --platform android --dev true --entry-file ReactAndroid/src/a
|
|||
|
||||
# build test APK
|
||||
# shellcheck disable=SC1091
|
||||
source ./scripts/android-setup.sh && NO_BUCKD=1 retry3 buck install ReactAndroid/src/androidTest/buck-runner:instrumentation-tests --config build.threads=1
|
||||
source ./scripts/android-setup.sh && NO_BUCKD=1 scripts/retry3 buck install ReactAndroid/src/androidTest/buck-runner:instrumentation-tests --config build.threads=1
|
||||
|
||||
# run installed apk with tests
|
||||
node ./.circleci/Dockerfiles/scripts/run-android-ci-instrumentation-tests.js "$*"
|
||||
|
|
|
@ -617,7 +617,7 @@ jobs:
|
|||
if [[ ! -e ReactAndroid/src/androidTest/assets/AndroidTestBundle.js ]]; then
|
||||
echo "JavaScript bundle missing, cannot run instrumentation tests. Verify Build JavaScript Bundle step completed successfully."; exit 1;
|
||||
fi
|
||||
source scripts/android-setup.sh && NO_BUCKD=1 retry3 timeout 300 buck build ReactAndroid/src/androidTest/buck-runner:instrumentation-tests --config build.threads=$BUILD_THREADS
|
||||
source scripts/android-setup.sh && NO_BUCKD=1 scripts/retry3 timeout 300 buck build ReactAndroid/src/androidTest/buck-runner:instrumentation-tests --config build.threads=$BUILD_THREADS
|
||||
|
||||
- run:
|
||||
name: Collect Test Results
|
||||
|
|
|
@ -94,21 +94,3 @@ function waitForAVD {
|
|||
echo "Skipping AVD-related test setup..."
|
||||
fi
|
||||
}
|
||||
|
||||
function retry3 {
|
||||
local n=1
|
||||
local max=3
|
||||
local delay=1
|
||||
while true; do
|
||||
"$@" && break || {
|
||||
if [[ $n -lt $max ]]; then
|
||||
((n++))
|
||||
echo "Command failed. Attempt $n/$max:"
|
||||
sleep $delay;
|
||||
else
|
||||
echo "The command has failed after $n attempts." >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
done
|
||||
}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
function retry3 {
|
||||
local n=1
|
||||
local max=3
|
||||
local delay=1
|
||||
while true; do
|
||||
# shellcheck disable=SC2015
|
||||
"$@" && break || {
|
||||
if [[ $n -lt $max ]]; then
|
||||
((n++))
|
||||
echo "Command failed. Attempt $n/$max:"
|
||||
sleep $delay;
|
||||
else
|
||||
echo "The command has failed after $n attempts." >&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
done
|
||||
}
|
||||
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
retry3 "$@"
|
||||
fi
|
Загрузка…
Ссылка в новой задаче