惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
G
Google Developers Blog
H
Help Net Security
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
GbyAI
GbyAI
D
Docker
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
博客园 - 司徒正美
Last Week in AI
Last Week in AI
Microsoft Security Blog
Microsoft Security Blog
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
fix(ci): quote Windows testbox phone-home payloads · open...
vincentkoc · 2026-06-20 · via Recent Commits to openclaw:main

@@ -57,6 +57,10 @@ jobs:

5757

echo "could not read required Blacksmith metadata" >&2

5858

exit 1

5959

fi

60+

if ! jq -e 'type == "number"' <<<"$installation_model_id" >/dev/null; then

61+

echo "invalid Blacksmith installation model id: ${installation_model_id}" >&2

62+

exit 1

63+

fi

60646165

if [ -n "${BLACKSMITH_HOSTNAME:-}" ]; then

6266

runner_host="$BLACKSMITH_HOSTNAME"

@@ -65,21 +69,32 @@ jobs:

6569

fi

6670

runner_ssh_port="${BLACKSMITH_SSH_PORT:-22}"

677172+

hydrating_body="$RUNNER_TEMP/testbox-hydrating.json"

6873

hydrating_response="$RUNNER_TEMP/testbox-hydrating.response"

74+

jq -n \

75+

--arg testbox_id "$TESTBOX_ID" \

76+

--argjson installation_model_id "$installation_model_id" \

77+

--arg status "hydrating" \

78+

--arg ip_address "$runner_host" \

79+

--arg ssh_port "$runner_ssh_port" \

80+

--arg working_directory "$GITHUB_WORKSPACE" \

81+

--arg adopted_run_id "$GITHUB_RUN_ID" \

82+

'{

83+

testbox_id: $testbox_id,

84+

installation_model_id: $installation_model_id,

85+

status: $status,

86+

ip_address: $ip_address,

87+

ssh_port: $ssh_port,

88+

working_directory: $working_directory,

89+

adopted_run_id: $adopted_run_id,

90+

metadata: {}

91+

}' > "$hydrating_body"

92+6993

hydrating_http_code="$(curl -sS -L --post302 --post303 -o "$hydrating_response" -w '%{http_code}' \

7094

-X POST "${api_url}/api/testbox/phone-home" \

7195

-H "Content-Type: application/json" \

7296

-H "Authorization: Bearer ${auth_token}" \

73-

-d "{

74-

\"testbox_id\": \"${TESTBOX_ID}\",

75-

\"installation_model_id\": ${installation_model_id},

76-

\"status\": \"hydrating\",

77-

\"ip_address\": \"${runner_host}\",

78-

\"ssh_port\": \"${runner_ssh_port}\",

79-

\"working_directory\": \"${GITHUB_WORKSPACE}\",

80-

\"adopted_run_id\": \"${GITHUB_RUN_ID}\",

81-

\"metadata\": {}

82-

}" || true)"

97+

--data-binary @"$hydrating_body" || true)"

83988499

echo "phone_home_hydrating_http=${hydrating_http_code}"

85100

if [[ ! "$hydrating_http_code" =~ ^2 ]]; then

@@ -152,20 +167,30 @@ jobs:

152167

runner_ssh_port="$(cat "$state/runner_ssh_port")"

153168

working_directory="$(cat "$state/working_directory")"

154169

adopted_run_id="$(cat "$state/adopted_run_id")"

170+

if ! jq -e 'type == "number"' <<<"$installation_model_id" >/dev/null; then

171+

echo "invalid Blacksmith installation model id: ${installation_model_id}" >&2

172+

exit 1

173+

fi

155174156175

ready_body="$RUNNER_TEMP/testbox-ready.json"

157-

cat > "$ready_body" <<JSON

158-

{

159-

"testbox_id": "${testbox_id}",

160-

"installation_model_id": ${installation_model_id},

161-

"status": "ready",

162-

"ip_address": "${runner_host}",

163-

"ssh_port": "${runner_ssh_port}",

164-

"working_directory": "${working_directory}",

165-

"adopted_run_id": "${adopted_run_id}",

166-

"metadata": {}

167-

}

168-

JSON

176+

jq -n \

177+

--arg testbox_id "$testbox_id" \

178+

--argjson installation_model_id "$installation_model_id" \

179+

--arg status "ready" \

180+

--arg ip_address "$runner_host" \

181+

--arg ssh_port "$runner_ssh_port" \

182+

--arg working_directory "$working_directory" \

183+

--arg adopted_run_id "$adopted_run_id" \

184+

'{

185+

testbox_id: $testbox_id,

186+

installation_model_id: $installation_model_id,

187+

status: $status,

188+

ip_address: $ip_address,

189+

ssh_port: $ssh_port,

190+

working_directory: $working_directory,

191+

adopted_run_id: $adopted_run_id,

192+

metadata: {}

193+

}' > "$ready_body"

169194170195

http_code="$(curl -sS -L --post302 --post303 -o "$RUNNER_TEMP/testbox-ready.response" -w '%{http_code}' \

171196

-X POST "${api_url}/api/testbox/phone-home" \