fix(release): bundle AI runtime in installer smoke#103556
Conversation
5b3cec9 to
3d7b9e7
Compare
3d7b9e7 to
f628dc5
Compare
f628dc5 to
0a7de77
Compare
|
Resolved at The original concern was that the custom exports resolver selected wildcard patterns in object order rather than Node's package-exports precedence, so a broad pattern could bypass a more-specific The custom resolver has now been removed. The strict bundled-artifact check keeps an explicit three-entry |
|
Land-ready proof for exact head Original red: Release Checks run 29076524932, installer job 86309758690 installed and swapped Exact proof:
Commands: CI=true corepack pnpm test \
test/scripts/check-openclaw-package-tarball.test.ts \
test/scripts/test-install-sh-docker.test.ts \
test/scripts/ci-workflow-guards.test.tsCI=true \
OPENCLAW_INSTALL_URL=file:///tmp/openclaw-install.sh \
OPENCLAW_INSTALL_CLI_URL=file:///tmp/openclaw-install-cli.sh \
OPENCLAW_NO_ONBOARD=1 \
OPENCLAW_INSTALL_SMOKE_SKIP_CLI=1 \
OPENCLAW_INSTALL_SMOKE_SKIP_NONROOT=1 \
OPENCLAW_INSTALL_SMOKE_SKIP_NPM_GLOBAL=1 \
OPENCLAW_INSTALL_SMOKE_SKIP_PREVIOUS=1 \
OPENCLAW_INSTALL_SMOKE_SKIP_FRESHNESS=1 \
OPENCLAW_INSTALL_SMOKE_UPDATE_BASELINE=2026.6.11 \
OPENCLAW_INSTALL_SMOKE_UPDATE_EXPECT_VERSION=2026.7.1-beta.3 \
OPENCLAW_INSTALL_SMOKE_UPDATE_DIST_IMAGE=ghcr.io/openclaw/openclaw-dockerfile-smoke:811ddd96180583bae00001f71971419182ae0520 \
OPENCLAW_INSTALL_SMOKE_UPDATE_SKIP_LOCAL_BUILD=1 \
OPENCLAW_INSTALL_SMOKE_SOURCE_DIR="$IMMUTABLE_HARNESS/candidate" \
bash scripts/test-install-sh-docker.shThe full command ran through raw Crabbox |
|
Land-ready proof for exact head
No PR-level proof gaps remain. |
|
Merged via squash.
|
* fix(release): bundle AI runtime in installer smoke * fix(release): verify bundled AI runtime loadability * fix(release): preserve advisory doctor exits --------- Co-authored-by: Peter Steinberger <[email protected]>
* fix(release): bundle AI runtime in installer smoke * fix(release): verify bundled AI runtime loadability * fix(release): preserve advisory doctor exits --------- Co-authored-by: Peter Steinberger <[email protected]>
What Problem This Solves
The release install-smoke lane could reuse only root
dist/from the candidate Docker image, then pack a metadata-only bundled@openclaw/ai. Stable-to-candidate installation succeeded, butopenclaw doctorfailed because the AI package had no runtime files.Fixes #103552
Why This Change Was Made
dist/, and AIdist/as the product under test.Exact image-backed proof now fails closed when import closure is broken and local rebuilds are disabled. The updater stage/swap code is unchanged. Installing separately packed root and AI candidates already succeeds; this repairs the harness-only bundled tarball.
User Impact
Release validation now exercises a complete candidate package for stable-to-candidate npm updates. A malformed metadata-only bundled AI runtime fails during package integrity validation instead of surfacing later as a doctor module-load error.
Evidence
node scripts/run-vitest.mjs test/scripts/check-openclaw-package-tarball.test.ts test/scripts/check-package-dist-imports.test.ts test/scripts/test-install-sh-docker.test.ts test/scripts/ci-workflow-guards.test.ts- 134/134 passedactionlint .github/workflows/install-smoke.yml,bash -non the three changed shell scripts,node --checkon both package-check modules,shellcheck -S erroron the three shell scripts, targetedoxfmt --check, andgit diff --check29078442062and29078741828both stopped during checkout hydration before the test command ran. Hosted exact-head PR checks remain required before landing.