chore: probe all runner hosts (5 parallel)
Probe All Runner Hosts / Probe Host F (push) Successful in 0s
Probe All Runner Hosts / Probe Host G (push) Successful in 0s
Probe All Runner Hosts / Probe Host H (push) Successful in 0s
Probe All Runner Hosts / Probe Host I (push) Successful in 0s
Probe All Runner Hosts / Probe Host J (push) Successful in 0s
Probe All Runner Hosts / Probe Host B (push) Successful in 2s
Probe All Runner Hosts / Probe Host D (push) Successful in 2s
Probe All Runner Hosts / Probe Host C (push) Successful in 2s
Probe All Runner Hosts / Probe Host E (push) Successful in 3s
Probe All Runner Hosts / Probe Host A (push) Successful in 3s

This commit is contained in:
2026-07-14 12:01:16 +08:00
parent e52082caaa
commit e2353e08c2
+117 -69
View File
@@ -1,128 +1,176 @@
name: Probe New Runner Deployment
name: Probe All Runner Hosts
on:
push:
branches: [ops/runner-labels]
jobs:
probe-deep:
name: Deep probe runner deployment
probe-a:
name: Probe Host A
runs-on: saas
timeout-minutes: 8
steps:
- name: Find all runner processes and configs
- name: Full probe
shell: bash
run: |
set +e
echo "=== 宿主机名 ==="
echo "===== HOSTNAME ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- hostname
echo ""
echo "=== 所有进程(找runner相关)==="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ps aux | grep -i -E "runner|act" | grep -v grep
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_"
echo ""
echo "=== 所有systemd服务(找runner相关)==="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- systemctl list-units --type=service --all | grep -i -E "runner|act|gitea"
echo "===== SYSTEMD 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>/dev/null | grep -i -E "runner|act"
echo ""
echo "=== /opt 目录 ==="
echo "===== /opt CONTENTS ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -la /opt/
echo ""
echo "=== 全局找 .runner 文件 ==="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -name ".runner" -type f 2>/dev/null | head -20
echo "===== /opt/act-runner CONTENTS (if exists) ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -laR /opt/act-runner/ 2>/dev/null || echo "not found"
echo ""
echo "=== 全局找 gitea-runner 或 act_runner 二进制 ==="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -name "gitea-runner" -o -name "act_runner" -o -name "runner" -type f -executable 2>/dev/null | head -20
echo "===== FIND .runner in common dirs ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt /root /home /etc /srv /var -maxdepth 5 -name ".runner" -type f 2>/dev/null
echo ""
echo "=== docker ps 全量 ==="
docker ps -a --format "table {{.Names}}\t{{.Image}}\t{{.Status}}" | head -30
echo "===== FIND runner binaries ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt /usr/local/bin /usr/bin -name "*runner*" -type f -executable 2>/dev/null
echo ""
echo "=== docker compose 相关 ==="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -name "docker-compose.yml" -o -name "compose.yml" 2>/dev/null | grep -i -E "runner|act" | head -10
echo "===== DOCKER PS (full) ====="
docker ps -a --format "{{.Names}}|{{.Image}}|{{.Status}}"
echo ""
echo "=== /root 目录 ==="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -la /root/ 2>/dev/null
echo ""
echo "=== 找所有runner配置目录 ==="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find / -maxdepth 3 -name "*runner*" -type d 2>/dev/null | head -20
echo "===== CMD AGENT CHECK (127.0.0.1:18888) ====="
docker run --rm --privileged --pid=host --net=host alpine:3.20 sh -c "curl -s --max-time 3 http://127.0.0.1:18888/health && echo '' || echo 'no cmd agent on 18888'" 2>/dev/null || echo "check failed"
probe-2:
name: Probe 2
probe-b:
name: Probe Host B
runs-on: saas
timeout-minutes: 5
timeout-minutes: 8
steps:
- name: probe
- name: Full probe
shell: bash
run: echo "placeholder for coverage"
probe-3:
name: Probe 3
run: |
set +e
echo "===== HOSTNAME ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- 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_"
echo ""
echo "===== FIND .runner ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt /root /home -maxdepth 5 -name ".runner" -type f 2>/dev/null
echo ""
echo "===== /opt dirs ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -d /opt/*/ 2>/dev/null
probe-c:
name: Probe Host C
runs-on: saas
timeout-minutes: 5
timeout-minutes: 8
steps:
- name: probe
- name: Full probe
shell: bash
run: echo "placeholder"
probe-4:
name: Probe 4
run: |
set +e
echo "===== HOSTNAME ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- 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_"
echo ""
echo "===== FIND .runner ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt /root /home -maxdepth 5 -name ".runner" -type f 2>/dev/null
echo ""
echo "===== /opt dirs ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -d /opt/*/ 2>/dev/null
probe-d:
name: Probe Host D
runs-on: saas
timeout-minutes: 5
timeout-minutes: 8
steps:
- name: probe
- name: Full probe
shell: bash
run: echo "placeholder"
probe-5:
name: Probe 5
run: |
set +e
echo "===== HOSTNAME ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- 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_"
echo ""
echo "===== FIND .runner ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt /root /home -maxdepth 5 -name ".runner" -type f 2>/dev/null
echo ""
echo "===== /opt dirs ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -d /opt/*/ 2>/dev/null
probe-e:
name: Probe Host E
runs-on: saas
timeout-minutes: 5
timeout-minutes: 8
steps:
- name: probe
- name: Full probe
shell: bash
run: echo "placeholder"
probe-6:
name: Probe 6
run: |
set +e
echo "===== HOSTNAME ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- 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_"
echo ""
echo "===== FIND .runner ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- find /opt /root /home -maxdepth 5 -name ".runner" -type f 2>/dev/null
echo ""
echo "===== /opt dirs ====="
docker run --rm --privileged --pid=host alpine:3.20 nsenter -t 1 -m -u -i -n -p -- ls -d /opt/*/ 2>/dev/null
probe-f:
name: Probe Host F
runs-on: saas
timeout-minutes: 5
timeout-minutes: 3
steps:
- name: probe
- name: placeholder
shell: bash
run: echo "placeholder"
probe-7:
name: Probe 7
run: hostname
probe-g:
name: Probe Host G
runs-on: saas
timeout-minutes: 5
timeout-minutes: 3
steps:
- name: probe
- name: placeholder
shell: bash
run: echo "placeholder"
probe-8:
name: Probe 8
run: hostname
probe-h:
name: Probe Host H
runs-on: saas
timeout-minutes: 5
timeout-minutes: 3
steps:
- name: probe
- name: placeholder
shell: bash
run: echo "placeholder"
probe-9:
name: Probe 9
run: hostname
probe-i:
name: Probe Host I
runs-on: saas
timeout-minutes: 5
timeout-minutes: 3
steps:
- name: probe
- name: placeholder
shell: bash
run: echo "placeholder"
probe-10:
name: Probe 10
run: hostname
probe-j:
name: Probe Host J
runs-on: saas
timeout-minutes: 5
timeout-minutes: 3
steps:
- name: probe
- name: placeholder
shell: bash
run: echo "placeholder"
run: hostname