mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 17:53:39 +00:00
Refresh application, plugin, native, build and container dependencies through the fixed 2026-09-19T16:27:11Z cutoff. Migrate native TypeScript snapshot/printer APIs while preserving compilation and filesystem contracts; retain existing patches and compatibility holds. Document offline container-image preparation. Include the verified compiler process-census and loading-clock fixture repairs and deterministic warm-history regression. Adopt the canonical production history fixes from #159924 and #159955. Land under the maintainer's explicit approval to treat proven pre-existing CI failures as non-blocking and repair main afterward. CI36365552098 failed an unchanged Android Compose fixture's asynchronous catalog projection assertion (3518 passed,1 failed); the Android/Gradle tree matches its main parent byte-for-byte. Security and dependency reviews passed. The final rebase preserves reviewed source changes and regenerates only the intentional Node-image documentation fingerprint. See PR159401 for complete validation and the follow-up repair obligation.
31 lines
1.2 KiB
Text
31 lines
1.2 KiB
Text
# syntax=docker/dockerfile:1.27.0
|
|
|
|
FROM node:24-bookworm-slim@sha256:0e0ff40c39bc087845bfb27465a0df4ea419520094bc35842ff83dd8cbe6f9b6
|
|
|
|
RUN corepack enable
|
|
|
|
RUN useradd --create-home --shell /bin/bash appuser \
|
|
&& mkdir -p /app \
|
|
&& chown appuser:appuser /app
|
|
|
|
ENV HOME="/home/appuser"
|
|
|
|
USER appuser
|
|
WORKDIR /app
|
|
|
|
COPY --chown=appuser:appuser package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY --chown=appuser:appuser ui/package.json ./ui/package.json
|
|
COPY --chown=appuser:appuser patches ./patches
|
|
|
|
# This image only exercises the root QR runtime dependency path.
|
|
# Keep the pre-install copy set limited to the manifests needed for root
|
|
# workspace resolution so unrelated extension edits do not bust the layer.
|
|
ARG OPENCLAW_QR_INSTALL_CACHE_BUSTER=stable
|
|
RUN --mount=type=cache,id=openclaw-pnpm-store,target=/home/appuser/.local/share/pnpm/store,sharing=locked \
|
|
printf '%s\n' "$OPENCLAW_QR_INSTALL_CACHE_BUSTER" >/tmp/openclaw-qr-install-cache-buster && \
|
|
if ! pnpm install --frozen-lockfile --ignore-scripts >/tmp/openclaw-qr-pnpm-install.log 2>&1; then \
|
|
cat /tmp/openclaw-qr-pnpm-install.log; \
|
|
exit 1; \
|
|
fi
|
|
|
|
COPY --chown=appuser:appuser . .
|