summaryrefslogtreecommitdiffstats
path: root/src/ci/docker/host-x86_64/dist-various-2/shared.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/ci/docker/host-x86_64/dist-various-2/shared.sh')
-rw-r--r--src/ci/docker/host-x86_64/dist-various-2/shared.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/ci/docker/host-x86_64/dist-various-2/shared.sh b/src/ci/docker/host-x86_64/dist-various-2/shared.sh
new file mode 100644
index 000000000..291f26bda
--- /dev/null
+++ b/src/ci/docker/host-x86_64/dist-various-2/shared.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+hide_output() {
+ { set +x; } 2>/dev/null
+ on_err="
+echo ERROR: An error was encountered with the build.
+cat /tmp/build.log
+exit 1
+"
+ trap "$on_err" ERR
+ bash -c "while true; do sleep 30; echo \$(date) - building ...; done" &
+ PING_LOOP_PID=$!
+ "$@" &> /tmp/build.log
+ trap - ERR
+ kill $PING_LOOP_PID
+ set -x
+}
+
+# Copied from ../../shared.sh
+function retry {
+ echo "Attempting with retry:" "$@"
+ local n=1
+ local max=5
+ while true; do
+ "$@" && break || {
+ if [[ $n -lt $max ]]; then
+ sleep $n # don't retry immediately
+ ((n++))
+ echo "Command failed. Attempt $n/$max:"
+ else
+ echo "The command has failed after $n attempts."
+ return 1
+ fi
+ }
+ done
+}