ci: pangolin runner launchd 持久化(start script + plist)
ci-pangolin / Lint — shellcheck (pull_request) Successful in 8s
ci-pangolin / OpenAPI Sync Check (pull_request) Successful in 20s
ci-pangolin / Redline Scan — 脱敏 (UI 文案) (pull_request) Successful in 6s
ci-pangolin / Flutter — analyze + test (pull_request) Successful in 43s
ci-pangolin / Portable SQL — 可移植性 (mysql/sqlite) (pull_request) Successful in 6s
ci-pangolin / Codegen Drift — token 生成物未漂移 (pull_request) Successful in 4s
ci-pangolin / Go — build + test (pull_request) Successful in 2m5s
ci-pangolin / E2E Smoke — L4 进程级端到端 (pull_request) Successful in 2m11s
ci-pangolin / Golden — 视觉回归 (components + auth) (pull_request) Successful in 34s
ci-pangolin / Lint — shellcheck (pull_request) Successful in 8s
ci-pangolin / OpenAPI Sync Check (pull_request) Successful in 20s
ci-pangolin / Redline Scan — 脱敏 (UI 文案) (pull_request) Successful in 6s
ci-pangolin / Flutter — analyze + test (pull_request) Successful in 43s
ci-pangolin / Portable SQL — 可移植性 (mysql/sqlite) (pull_request) Successful in 6s
ci-pangolin / Codegen Drift — token 生成物未漂移 (pull_request) Successful in 4s
ci-pangolin / Go — build + test (pull_request) Successful in 2m5s
ci-pangolin / E2E Smoke — L4 进程级端到端 (pull_request) Successful in 2m11s
ci-pangolin / Golden — 视觉回归 (components + auth) (pull_request) Successful in 34s
mac-pangolin-2 从临时后台进程改成开机自启的 launchd 服务,仿 jiu 的 com.jiu.act-runner: - deploy/runner/act_runner_pangolin_start.sh:等 jiu relay(13000)就绪 → 起 daemon → 退出自重启;PATH 含 docker/node/go(host 模式 job 要用) - deploy/runner/com.pangolin.act-runner.plist:RunAtLoad + KeepAlive - docs/ci-runner.md:持久化章节改为实际部署步骤(cp + launchctl load) 复用 jiu 的 relay 13000(端口已占,不另起)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
# act_runner_pangolin_start.sh — pangolin CI runner(mac-pangolin-2)常驻启动。
|
||||
#
|
||||
# 由 launchd(com.pangolin.act-runner)拉起、KeepAlive。
|
||||
# 复用 jiu 的 TCP relay 127.0.0.1:13000(mac 的 Shadowrocket 会拦 act_runner 这个
|
||||
# Go 二进制,直连 NAS gitea 失败;jiu 的 com.jiu.act-runner 已常驻一个 relay,端口
|
||||
# 已占,本脚本不另起、只等它可达)。详见 docs/ci-runner.md。
|
||||
#
|
||||
# 部署:复制到 ~/bin/ 并 chmod +x;由 ~/Library/LaunchAgents/com.pangolin.act-runner.plist 引用。
|
||||
|
||||
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
|
||||
export HTTP_PROXY="" HTTPS_PROXY="" http_proxy="" https_proxy=""
|
||||
|
||||
CONFIG="/Users/wangjia/.act_runner_pangolin2_config.yaml"
|
||||
RUNNER="/Users/wangjia/bin/act_runner"
|
||||
|
||||
while true; do
|
||||
# 等 jiu 的 relay(13000)就绪 —— act_runner 经它连 NAS gitea(192.168.3.200:3000)。
|
||||
until /usr/bin/curl -sf --connect-timeout 3 http://127.0.0.1:13000/api/v1/version >/dev/null 2>&1; do
|
||||
echo "[$(date)] relay 13000 未就绪(jiu 的 runner 没起?),15s 后重试..."
|
||||
sleep 15
|
||||
done
|
||||
|
||||
echo "[$(date)] 起 act_runner(mac-pangolin-2,label nas,host 模式)..."
|
||||
"$RUNNER" daemon --config "$CONFIG"
|
||||
echo "[$(date)] act_runner 退出(code $?),10s 后重启..."
|
||||
sleep 10
|
||||
done
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!-- pangolin CI runner(mac-pangolin-2)开机自启 launchd 服务。
|
||||
部署:复制到 ~/Library/LaunchAgents/ 后 launchctl load。详见 docs/ci-runner.md。 -->
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.pangolin.act-runner</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/bin/bash</string>
|
||||
<string>/Users/wangjia/bin/act_runner_pangolin_start.sh</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
<key>StandardOutPath</key>
|
||||
<string>/tmp/act_runner_pangolin2.log</string>
|
||||
<key>StandardErrorPath</key>
|
||||
<string>/tmp/act_runner_pangolin2.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
Reference in New Issue
Block a user