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
 |