Skip to content

Commit 7317eb4

Browse files
committed
dbg logs, vars
1 parent cf0a49e commit 7317eb4

2 files changed

Lines changed: 155 additions & 90 deletions

File tree

src/ec2_gha/templates/user-script.sh.templ

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -247,43 +247,55 @@ tar --no-overwrite-dir -xzf runner.tar.gz
247247
cat > /usr/local/bin/job-started-hook.sh << 'EOFS'
248248
#!/bin/bash
249249
exec >> /tmp/job-started-hook.log 2>&1
250+
V="/var/run/github-runner"
250251
echo "[$$(date)] ${log_prefix_job_started} $${GITHUB_JOB}"
251-
mkdir -p /var/run/github-runner-jobs
252-
echo '{"status":"running"}' > /var/run/github-runner-jobs/$${GITHUB_RUN_ID}-$${GITHUB_JOB}.job
253-
touch /var/run/github-runner-last-activity /var/run/github-runner-has-run-job
252+
mkdir -p $$V-jobs
253+
echo '{"status":"running"}' > $$V-jobs/$${GITHUB_RUN_ID}-$${GITHUB_JOB}.job
254+
touch $$V-last-activity $$V-has-run-job
254255
EOFS
255256

256257
cat > /usr/local/bin/job-completed-hook.sh << 'EOFC'
257258
#!/bin/bash
258259
exec >> /tmp/job-completed-hook.log 2>&1
260+
V="/var/run/github-runner"
259261
echo "[$$(date)] ${log_prefix_job_completed} $${GITHUB_JOB}"
260-
rm -f /var/run/github-runner-jobs/$${GITHUB_RUN_ID}-$${GITHUB_JOB}.job
261-
touch /var/run/github-runner-last-activity
262+
rm -f $$V-jobs/$${GITHUB_RUN_ID}-$${GITHUB_JOB}.job
263+
touch $$V-last-activity
262264
EOFC
263265

264266
cat > /usr/local/bin/check-runner-termination.sh << 'EOFT'
265267
#!/bin/bash
266268
exec >> /tmp/termination-check.log 2>&1
267269
source /usr/local/bin/runner-common-functions.sh
268-
A="/var/run/github-runner-last-activity"
269-
J="/var/run/github-runner-jobs"
270-
H="/var/run/github-runner-has-run-job"
271-
HOMEDIR="$homedir"
272-
TOKEN="$token"
270+
V="/var/run/github-runner"
271+
A="$$V-last-activity"
272+
J="$$V-jobs"
273+
H="$$V-has-run-job"
274+
D="$homedir"
275+
T="$token"
273276
[ ! -f "$$A" ] && touch "$$A"
274277
L=$$(stat -c %Y "$$A" 2>/dev/null || echo 0)
275-
I=$$(($$(date +%s)-L))
278+
N=$$(date +%s)
279+
I=$$((N-L))
276280
[ -f "$$H" ] && G=$${RUNNER_GRACE_PERIOD:-60} || G=$${RUNNER_INITIAL_GRACE_PERIOD:-180}
277281
R=$$(grep -l '"status":"running"' $$J/*.job 2>/dev/null | wc -l || echo 0)
282+
278283
if [ $$R -eq 0 ] && [ $$I -gt $$G ]; then
279-
echo "[$$(date)] Terminating: idle $$I > grace $$G"
280-
[ -f "$$HOMEDIR/config.sh" ] && cd "$$HOMEDIR" && pkill -INT -f "Runner.Listener" 2>/dev/null || true
281-
sleep 2
282-
[ -f "$$HOMEDIR/config.sh" ] && RUNNER_ALLOW_RUNASROOT=1 ./config.sh remove --token $$TOKEN
284+
log "TERMINATING: idle $$I > grace $$G"
285+
if [ -f "$$D/config.sh" ]; then
286+
cd "$$D" && pkill -INT -f "Runner.Listener" 2>/dev/null || true
287+
sleep 2
288+
log "Deregistering runner..."
289+
RUNNER_ALLOW_RUNASROOT=1 ./config.sh remove --token $$T 2>&1
290+
log "Deregistration exit: $$?"
291+
else
292+
log "ERROR: config.sh not found at $$D"
293+
fi
283294
flush_cloudwatch_logs
295+
log "Shutting down"
284296
sudo shutdown -h now
285297
else
286-
[ $$R -gt 0 ] && echo "[$$(date)] $$R job(s) running" || echo "[$$(date)] Idle $$I/$$G sec"
298+
[ $$R -gt 0 ] && log "$$R job(s) running" || log "Idle $$I/$$G sec"
287299
fi
288300
EOFT
289301

@@ -298,10 +310,11 @@ echo "RUNNER_INITIAL_GRACE_PERIOD=$runner_initial_grace_period" >> .env
298310
echo "RUNNER_POLL_INTERVAL=$runner_poll_interval" >> .env
299311

300312
# Set up job tracking directory
301-
mkdir -p /var/run/github-runner-jobs
313+
V="/var/run/github-runner"
314+
mkdir -p $$V-jobs
302315

303316
# Create initial activity timestamp
304-
touch /var/run/github-runner-last-activity
317+
touch $$V-last-activity
305318

306319
# Set up periodic termination check using systemd
307320
cat > /etc/systemd/system/runner-termination-check.service << 'EOF'

0 commit comments

Comments
 (0)