31 lines
1.0 KiB
Bash
Executable File
31 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
source logger.sh
|
|
source graceful-stop.sh
|
|
trap graceful_stop TERM
|
|
|
|
dumb-init bash <<'SCRIPT' &
|
|
source logger.sh
|
|
|
|
startup.sh
|
|
SCRIPT
|
|
|
|
RUNNER_INIT_PID=$!
|
|
log.notice "Runner init started with pid $RUNNER_INIT_PID"
|
|
wait $RUNNER_INIT_PID
|
|
log.notice "Runner init exited. Exiting this process with code 0 so that the container and the pod is GC'ed Kubernetes soon."
|
|
|
|
if [ -f /runner/.runner ]; then
|
|
# If the runner failed with the following error:
|
|
# √ Connected to GitHub
|
|
# Failed to create a session. The runner registration has been deleted from the server, please re-configure.
|
|
# Runner listener exit with terminated error, stop the service, no retry needed.
|
|
# Exiting runner...
|
|
# It might have failed to delete the .runner file.
|
|
# We use the existence of the .runner file as the indicator that the runner agent has not stopped yet.
|
|
# Remove it by ourselves now, so that the dockerd sidecar prestop won't hang waiting for the .runner file to appear.
|
|
echo "Removing the .runner file"
|
|
rm -f /runner/.runner
|
|
fi
|
|
|
|
trap - TERM
|