perf(update): reuse dev preflight build cache (#117246)

This commit is contained in:
Peter Steinberger
2026-07-31 22:59:44 -07:00
committed by GitHub
parent 1f40646f7e
commit 137050cedd
7 changed files with 120 additions and 27 deletions
+3 -3
View File
@@ -251,7 +251,7 @@ returns the latest sentinel.
Dev only.
</Step>
<Step title="Preflight build (dev only)">
Runs the TypeScript build in a temp worktree. If the tip fails, walks back up to 10 commits to find the newest buildable commit. Set `OPENCLAW_UPDATE_PREFLIGHT_LINT=1` to also run lint during this preflight; lint runs in constrained serial mode because user update hosts are often smaller than CI runners.
Runs the TypeScript build in a temp worktree. If the tip fails, walks back up to 10 commits to find the newest buildable commit. Content-addressed declaration outputs from the successful candidate are reused by the final checkout build; rebased source changes automatically invalidate the affected cache groups. Set `OPENCLAW_UPDATE_PREFLIGHT_LINT=1` to also run lint during this preflight; lint runs in constrained serial mode because user update hosts are often smaller than CI runners.
</Step>
<Step title="Rebase">
Rebases onto the selected commit (dev only).
@@ -259,8 +259,8 @@ returns the latest sentinel.
<Step title="Install dependencies">
Uses the repo package manager. For pnpm checkouts, the updater bootstraps `pnpm` on demand (via `corepack` first, then a temporary `npm install pnpm@11` fallback) instead of running `npm run build` inside a pnpm workspace. If pnpm bootstrap still fails, the updater stops early with a package-manager-specific error instead of trying `npm run build` in the checkout.
</Step>
<Step title="Build Control UI">
Builds the gateway and the Control UI.
<Step title="Build checkout">
Builds the gateway and Control UI once in the final checkout. The updater runs the standalone Control UI build only when a target build omitted those assets or doctor later removes them.
</Step>
<Step title="Run doctor">
`openclaw doctor` runs as the final safe-update check.