一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
38 行
760 B
Bash
可执行文件
38 行
760 B
Bash
可执行文件
#!/bin/bash
|
|
# Retry a command up to a few times. Used to absorb random CI flakes (network
|
|
# failures, slow mirrors, etc).
|
|
#
|
|
# Usage: retry [attempts] [sleep_seconds] -- command [args...]
|
|
# Both attempts and sleep_seconds are optional and default to 3 and 10.
|
|
retry() {
|
|
local attempts=3
|
|
local sleep_seconds=10
|
|
|
|
if [[ "$1" =~ ^[0-9]+$ ]]; then
|
|
attempts="$1"
|
|
shift
|
|
fi
|
|
if [[ "$1" =~ ^[0-9]+$ ]]; then
|
|
sleep_seconds="$1"
|
|
shift
|
|
fi
|
|
if [ "$1" = '--' ]; then
|
|
shift
|
|
fi
|
|
|
|
local i=1
|
|
while true; do
|
|
"$@"
|
|
local result=$?
|
|
if [ $result -eq 0 ]; then
|
|
return 0
|
|
fi
|
|
if [ $i -ge $attempts ]; then
|
|
return $result
|
|
fi
|
|
echo "\`$*\` failed (attempt $i/$attempts) - retrying in ${sleep_seconds}s..."
|
|
i=$((i + 1))
|
|
sleep "$sleep_seconds"
|
|
done
|
|
}
|