diff --git a/Dockerfile b/Dockerfile index 471cbc86d5..235745535d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -331,7 +331,18 @@ RUN --mount=type=cache,id=s/92ca8a61-c1ba-421f-a389-d48ac7258c2d-apt-cache,targe && git config --system url."https://github.com/".insteadOf "ssh://git@github.com/" # Install CLI tools globally. Separate layer from apt for better cache reuse. +# Pinned to exact versions per Diego's diagnosis in #12576 — floating +# `@latest` causes two CI failures: +# 1. `openclaw` ships a breaking major ~weekly; overnight builds silently +# advance to a version that no longer matches the tested combo stack. +# 2. `codex` / `claude-code` dev pre-releases (`@next`, dist-tags) mutate +# API surface without notice; reproducible builds need a SHA-pinned dev +# build, not the floating `@latest`. RUN --mount=type=cache,id=s/92ca8a61-c1ba-421f-a389-d48ac7258c2d-npm-cache,target=/root/.npm \ - npm install -g --no-audit --no-fund @openai/codex @anthropic-ai/claude-code droid openclaw@latest + npm install -g --no-audit --no-fund \ + @openai/codex@0.153.2 \ + @anthropic-ai/claude-code@2.1.260 \ + droid@0.212.0 \ + openclaw@2026.9.1 USER node