Compare commits

...

14 Commits

Author SHA1 Message Date
xiaoxia 082cc7afd8 temp: trigger test 2026-07-11 23:59:59 +08:00
xiaoxia 3b9f171706 temp: keep only one workflow for testing 2026-07-11 23:56:27 +08:00
xiaoxia d54ff7ceac temp: expand to 3 runner instances
Read runner config / read-config (push) Successful in 0s
Temp CMD Agent Token Read / read-token (push) Successful in 0s
2026-07-11 23:55:13 +08:00
xiaoxia c653d7972f temp: runner expand 3 instances via cmd-agent workflow
Read runner config / read-config (push) Successful in 0s
Temp CMD Agent Token Read / read-token (push) Successful in 0s
Runner Expansion / expand-runner (push) Successful in 7s
2026-07-11 23:53:01 +08:00
xiaoxia fc6b4822cc temp: trigger expand final
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 0s
Read runner config / read-config (push) Successful in 0s
Temp CMD Agent Token Read / read-token (push) Successful in 0s
Runner Expansion / expand-runner (push) Successful in 8s
2026-07-11 23:51:39 +08:00
xiaoxia cfd203aee5 temp: final runner expansion - 3 instances
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 0s
Read runner config / read-config (push) Successful in 0s
Temp CMD Agent Token Read / read-token (push) Successful in 0s
Runner Expansion / expand-runner (push) Successful in 6s
2026-07-11 23:50:10 +08:00
xiaoxia d9155e6ff4 temp: runner expand v2 - multi instance
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 0s
Read runner config / read-config (push) Successful in 0s
Temp CMD Agent Token Read / read-token (push) Successful in 0s
Runner Expansion / expand-runner (push) Successful in 6s
2026-07-11 23:31:52 +08:00
xiaoxia 28cf52f2f8 temp: fix read runner config workflow
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 0s
Read runner config / read-config (push) Successful in 0s
Temp CMD Agent Token Read / read-token (push) Successful in 0s
Runner Expansion / expand-runner (push) Successful in 6s
2026-07-11 23:28:59 +08:00
xiaoxia 300e220a8d temp: read full runner config
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 0s
Temp CMD Agent Token Read / read-token (push) Successful in 0s
Runner Expansion / expand-runner (push) Successful in 6s
2026-07-11 23:27:16 +08:00
xiaoxia 5534986a3c temp: inspect runner config for expansion
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 1s
Temp CMD Agent Token Read / read-token (push) Successful in 1s
Runner Expansion / expand-runner (push) Successful in 7s
2026-07-11 23:26:17 +08:00
xiaoxia d6b8b67c38 temp: read current cmd agent token
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 1s
Temp CMD Agent Token Read / read-token (push) Successful in 1s
2026-07-11 23:24:48 +08:00
用户CI Test 2b14daf724 temp: v3 inspect cmd agent source
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 1s
2026-07-11 23:03:58 +08:00
用户CI Test bcfcb1fcc0 temp: v2 diagnostic - focused checks
Temp CMD Agent Fix / Fix CMD Agent Token (push) Successful in 2s
2026-07-11 22:39:03 +08:00
用户CI Test 318fb64bce temp: diagnostic workflow for CMD Agent
Temp CMD Agent Fix / Fix CMD Agent Token (push) Failing after 8s
2026-07-11 22:26:25 +08:00
+164
View File
@@ -0,0 +1,164 @@
name: Runner Expand
on: push
jobs:
expand:
runs-on: host
steps:
- name: Expand to 3 runner instances
run: |
set +e
echo "========== Step 1: 检查当前runner =========="
echo "当前进程数: $(ps aux | grep 'act_runner daemon' | grep -v grep | wc -l)"
echo ""
echo "========== Step 2: 创建 runner-2 =========="
if [ -f /var/lib/xiaoxia-ci-runner-2/.runner ]; then
echo "runner-2 已注册,跳过"
else
mkdir -p /var/lib/xiaoxia-ci-runner-2
cp /var/lib/xiaoxia-ci/act_runner /var/lib/xiaoxia-ci-runner-2/act_runner
chmod +x /var/lib/xiaoxia-ci-runner-2/act_runner
cat > /var/lib/xiaoxia-ci-runner-2/.runner-config.yaml << 'CFG'
log:
level: info
runner:
file: .runner
capacity: 1
timeout: 3h
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
labels:
- runtime-builder
- ubuntu-latest
- host
cache:
enabled: true
dir: /var/lib/xiaoxia-ci-runner-2/cache
host:
workdir_parent: /var/lib/xiaoxia-ci-runner-2/workspace
container:
network: host
CFG
REG_TOKEN=$(python3 -c "import json; print(json.load(open('/var/lib/xiaoxia-ci/.runner'))['token'])" 2>/dev/null)
REG_ADDR=$(python3 -c "import json; print(json.load(open('/var/lib/xiaoxia-ci/.runner'))['address'])" 2>/dev/null)
echo "使用注册地址: $REG_ADDR"
cd /var/lib/xiaoxia-ci-runner-2
./act_runner register \
--instance "$REG_ADDR" \
--token "$REG_TOKEN" \
--name "xiaoxia-ci-runner-2" \
--labels "runtime-builder:host,ubuntu-latest:host,host:host" \
--no-interactive 2>&1
echo "runner-2 注册结果: $?"
fi
echo ""
echo "========== Step 3: 创建 runner-3 =========="
if [ -f /var/lib/xiaoxia-ci-runner-3/.runner ]; then
echo "runner-3 已注册,跳过"
else
mkdir -p /var/lib/xiaoxia-ci-runner-3
cp /var/lib/xiaoxia-ci/act_runner /var/lib/xiaoxia-ci-runner-3/act_runner
chmod +x /var/lib/xiaoxia-ci-runner-3/act_runner
cat > /var/lib/xiaoxia-ci-runner-3/.runner-config.yaml << 'CFG'
log:
level: info
runner:
file: .runner
capacity: 1
timeout: 3h
insecure: false
fetch_timeout: 5s
fetch_interval: 2s
labels:
- runtime-builder
- ubuntu-latest
- host
cache:
enabled: true
dir: /var/lib/xiaoxia-ci-runner-3/cache
host:
workdir_parent: /var/lib/xiaoxia-ci-runner-3/workspace
container:
network: host
CFG
REG_TOKEN=$(python3 -c "import json; print(json.load(open('/var/lib/xiaoxia-ci/.runner'))['token'])" 2>/dev/null)
REG_ADDR=$(python3 -c "import json; print(json.load(open('/var/lib/xiaoxia-ci/.runner'))['address'])" 2>/dev/null)
cd /var/lib/xiaoxia-ci-runner-3
./act_runner register \
--instance "$REG_ADDR" \
--token "$REG_TOKEN" \
--name "xiaoxia-ci-runner-3" \
--labels "runtime-builder:host,ubuntu-latest:host,host:host" \
--no-interactive 2>&1
echo "runner-3 注册结果: $?"
fi
echo ""
echo "========== Step 4: systemd 服务 =========="
cat > /etc/systemd/system/act_runner-2.service << 'SVC'
[Unit]
Description=Gitea Actions Runner 2
After=gitea.service network.target
[Service]
Type=simple
WorkingDirectory=/var/lib/xiaoxia-ci-runner-2
ExecStart=/var/lib/xiaoxia-ci-runner-2/act_runner daemon --config .runner-config.yaml
Restart=always
RestartSec=5s
User=root
[Install]
WantedBy=multi-user.target
SVC
cat > /etc/systemd/system/act_runner-3.service << 'SVC'
[Unit]
Description=Gitea Actions Runner 3
After=gitea.service network.target
[Service]
Type=simple
WorkingDirectory=/var/lib/xiaoxia-ci-runner-3
ExecStart=/var/lib/xiaoxia-ci-runner-3/act_runner daemon --config .runner-config.yaml
Restart=always
RestartSec=5s
User=root
[Install]
WantedBy=multi-user.target
SVC
systemctl daemon-reload
systemctl enable act_runner-2.service act_runner-3.service 2>&1
systemctl start act_runner-2.service 2>&1
systemctl start act_runner-3.service 2>&1
sleep 8
echo ""
echo "========== Step 5: 验证 =========="
COUNT=$(ps aux | grep 'act_runner daemon' | grep -v grep | wc -l)
echo "runner进程数: $COUNT"
ps aux | grep 'act_runner daemon' | grep -v grep
echo ""
echo "服务状态:"
systemctl is-active act_runner.service act_runner-2.service act_runner-3.service 2>&1
echo ""
echo "注册信息:"
for d in /var/lib/xiaoxia-ci /var/lib/xiaoxia-ci-runner-2 /var/lib/xiaoxia-ci-runner-3; do
if [ -f "$d/.runner" ]; then
python3 -c "
import json
d = json.load(open('$d/.runner'))
print(f' {d[\"name\"]}: id={d[\"id\"]}')
" 2>/dev/null
fi
done
echo ""
echo "========== DONE =========="