mirror of
https://github.com/actions/runner.git
synced 2025-12-12 05:37:01 +00:00
Issue 1698: Use safe_sleep executable in bash scripts (#1707)
* use safe_sleep executable in bash scripts * new line at the end of safe_sleep bash script * Replacing relative paths with absolute paths and changing location of safe_sleep Co-authored-by: Ferenc Hammerl <31069338+fhammerl@users.noreply.github.com>
This commit is contained in:
@@ -30,13 +30,13 @@ date "+[%F %T-%4N] Waiting for $runnerprocessname ($runnerpid) to complete" >> "
|
|||||||
while [ -e /proc/$runnerpid ]
|
while [ -e /proc/$runnerpid ]
|
||||||
do
|
do
|
||||||
date "+[%F %T-%4N] Process $runnerpid still running" >> "$logfile" 2>&1
|
date "+[%F %T-%4N] Process $runnerpid still running" >> "$logfile" 2>&1
|
||||||
sleep 2
|
"$rootfolder"/safe_sleep.sh 2
|
||||||
done
|
done
|
||||||
date "+[%F %T-%4N] Process $runnerpid finished running" >> "$logfile" 2>&1
|
date "+[%F %T-%4N] Process $runnerpid finished running" >> "$logfile" 2>&1
|
||||||
|
|
||||||
# start re-organize folders
|
# start re-organize folders
|
||||||
date "+[%F %T-%4N] Sleep 1 more second to make sure process exited" >> "$logfile" 2>&1
|
date "+[%F %T-%4N] Sleep 1 more second to make sure process exited" >> "$logfile" 2>&1
|
||||||
sleep 1
|
"$rootfolder"/safe_sleep.sh 1
|
||||||
|
|
||||||
# the folder structure under runner root will be
|
# the folder structure under runner root will be
|
||||||
# ./bin -> bin.2.100.0 (junction folder)
|
# ./bin -> bin.2.100.0 (junction folder)
|
||||||
|
|||||||
@@ -10,22 +10,6 @@ fi
|
|||||||
# Run
|
# Run
|
||||||
shopt -s nocasematch
|
shopt -s nocasematch
|
||||||
|
|
||||||
safe_sleep() {
|
|
||||||
if [ ! -x "$(command -v sleep)" ]; then
|
|
||||||
if [ ! -x "$(command -v ping)" ]; then
|
|
||||||
COUNT="0"
|
|
||||||
while [[ $COUNT != 5000 ]]; do
|
|
||||||
echo "SLEEP" > /dev/null
|
|
||||||
COUNT=$[$COUNT+1]
|
|
||||||
done
|
|
||||||
else
|
|
||||||
ping -c 5 127.0.0.1 > /dev/null
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
sleep 5
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
SOURCE="${BASH_SOURCE[0]}"
|
SOURCE="${BASH_SOURCE[0]}"
|
||||||
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||||
@@ -44,17 +28,17 @@ elif [[ $returnCode == 1 ]]; then
|
|||||||
exit 0
|
exit 0
|
||||||
elif [[ $returnCode == 2 ]]; then
|
elif [[ $returnCode == 2 ]]; then
|
||||||
echo "Runner listener exit with retryable error, re-launch runner in 5 seconds."
|
echo "Runner listener exit with retryable error, re-launch runner in 5 seconds."
|
||||||
safe_sleep
|
"$DIR"/safe_sleep.sh 5
|
||||||
exit 2
|
exit 2
|
||||||
elif [[ $returnCode == 3 ]]; then
|
elif [[ $returnCode == 3 ]]; then
|
||||||
# Sleep 5 seconds to wait for the runner update process finish
|
# Sleep 5 seconds to wait for the runner update process finish
|
||||||
echo "Runner listener exit because of updating, re-launch runner in 5 seconds"
|
echo "Runner listener exit because of updating, re-launch runner in 5 seconds"
|
||||||
safe_sleep
|
"$DIR"/safe_sleep.sh 5
|
||||||
exit 2
|
exit 2
|
||||||
elif [[ $returnCode == 4 ]]; then
|
elif [[ $returnCode == 4 ]]; then
|
||||||
# Sleep 5 seconds to wait for the ephemeral runner update process finish
|
# Sleep 5 seconds to wait for the ephemeral runner update process finish
|
||||||
echo "Runner listener exit because of updating, re-launch ephemeral runner in 5 seconds"
|
echo "Runner listener exit because of updating, re-launch ephemeral runner in 5 seconds"
|
||||||
safe_sleep
|
"$DIR"/safe_sleep.sh 5
|
||||||
exit 2
|
exit 2
|
||||||
else
|
else
|
||||||
echo "Exiting with unknown error code: ${returnCode}"
|
echo "Exiting with unknown error code: ${returnCode}"
|
||||||
|
|||||||
6
src/Misc/layoutroot/safe_sleep.sh
Normal file
6
src/Misc/layoutroot/safe_sleep.sh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SECONDS=0
|
||||||
|
while [[ $SECONDS != $1 ]]; do
|
||||||
|
:
|
||||||
|
done
|
||||||
@@ -128,6 +128,7 @@ function layout ()
|
|||||||
chmod +x "${LAYOUT_DIR}/bin/Runner.Worker"
|
chmod +x "${LAYOUT_DIR}/bin/Runner.Worker"
|
||||||
chmod +x "${LAYOUT_DIR}/bin/Runner.PluginHost"
|
chmod +x "${LAYOUT_DIR}/bin/Runner.PluginHost"
|
||||||
chmod +x "${LAYOUT_DIR}/bin/installdependencies.sh"
|
chmod +x "${LAYOUT_DIR}/bin/installdependencies.sh"
|
||||||
|
chmod +x "${LAYOUT_DIR}/safe_sleep.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
heading "Setup externals folder for $RUNTIME_ID runner's layout"
|
heading "Setup externals folder for $RUNTIME_ID runner's layout"
|
||||||
|
|||||||
Reference in New Issue
Block a user