builds.sr.ht の Webhook をリモート Mac の OpenClaw へ届けプリフェッチと lockfile 走査を要約に束ねビルドへ返します。Node 二十四固定の後に config validate→gateway status JSON→doctor で受入れします。一覧・status・ヘルプ。

運用で踏みやすい三つの落とし穴

1

同一ホストでビルドイメージを過剰並列するとディスクと帯域が拮抗し赤判定が増えます。

2

package-lock と実取得が食い違うと再現不能な中間失敗が続きます。

3

ゲートウェイの一八七八九番が衝突すると status JSON が健全でも後段が届きません。

イメージ並列・Git 再試行・空き容量の表

ディスクと出口帯域を前提に、同時イメージ本数・フェッチ退避・中止水位を同時に決めます。

方針同時本数Git 再試行空き目安
保守1最大三回・四秒起点十五G超で開始
中庸2最大五回・四〜九十秒階段二十五G超
攻め3〜4浅履歴+postBuffer四十G超・五G未満で中止

Node 二十四と CLI 導入

Node 公式か nvm の install.sh を curl で取り nvm install 24 で固定。npm で openclaw を入れ plist で絶対パスを揃えます。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install 24 && nvm use 24
npm i -g openclaw@latest

初回のみ arm64 取得に時間、以降はキャッシュで安定します。

builds から CI へ返す手順

1

builds.sr.ht で Webhook を作り共有秘密をシークレットへ入れ HTTPS 受口へ限定公開します。

2

プリフェッチで npm cache を温め、lockfile と取得物の差分検査を同一シェルへまとめます。

3

失敗摘要を末尾数百行に圧縮しビルド番号と短いコミットをキーに付けます。

4

openclaw config validate の後に gateway status を JSON 保存し doctor を連鎖して終了コードを記録します。

5

curl で builds ログへ追記または API へ返し、失敗時は四〜九十秒退避で最大五回再送します。

validate・status・doctor の連鎖

validate を先に通すと偽陽性が減ります。status JSON はリスナー実効値を残し doctor は権限と一八七八九番衝突を拾います。三つを一枚の CI 要約へ載せ本番入口を静かにできます。

よくある質問

トークンと Webhook 秘密は分けますか。
分けます。署名は共有秘密のみ、API は読み取り限定の別トークン、ログはマスクします。
TLS 終端で署名が壊れるのはなぜですか。
プロキシが JSON を整形すると生ボディと不一致になります。上流で検証するか整形を止めます。
ポート一八七八九が使用中と出ます。
lsof で PID を特定し PR 用は別 launchd ラベルと使い捨て HOME で衝突を避けます。
Node 二十二でも動きますか。
推奨しません。v2026.5 系は二十四前提の依存が増えます。
Git の shallow が不安定です。
上表の退避に合わせ深さと同時 clone を絞ります。bundle 記事も参照ください。

まとめと次アクション

Webhook で入口を絞り表で並列と再試行と水位を決め OpenClaw の三連ゲートで受入れすると赤判定の原因が読みやすくなります。

転記用の値
  • 退避は四〜九十秒の階段で最大五回
  • 空き四十G超で攻め、五G未満で中止
  • validate→status JSON→doctor の順を固定

ホーム・料金・ヘルプはログイン不要です。隣接読みはCircleCI lockfile 摘要や一覧へどうぞ。

builds.sr.ht × OpenClaw

Mac ノードでプリフェッチとゲート

ホーム・料金・ヘルプで SSH を確認し SourceHut 受口を載せられます。