From 085145a156f2bd2f5767b1624da9a9d049ed134e Mon Sep 17 00:00:00 2001 From: Hung Le Date: Fri, 29 May 2026 01:13:11 +0000 Subject: [PATCH] fix(hermes): guard ui-tui and web npm ci steps for older Hermes versions The rebuild-hermes E2E tests build agents/hermes/Dockerfile.base with HERMES_VERSION=v2026.4.13, which predates the ui-tui/ and web/ subdirectories added in v2026.5.16. The unconditional `npm ci --prefix ui-tui` fails with EUSAGE because the old tarball has no ui-tui/package-lock.json. Wrap the ui-tui and web npm-ci + build steps in `[ -f /package-lock.json ]` guards so the Dockerfile stays compatible with older Hermes releases used by the stale-base rebuild test matrix. Fixes rebuild-hermes-e2e and rebuild-hermes-stale-base-e2e nightly failures on run 26610274905. Signed-off-by: Hung Le --- agents/hermes/Dockerfile.base | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/agents/hermes/Dockerfile.base b/agents/hermes/Dockerfile.base index 26e6493a75..785b0c054a 100644 --- a/agents/hermes/Dockerfile.base +++ b/agents/hermes/Dockerfile.base @@ -176,10 +176,14 @@ RUN set -eu; \ done; \ uv sync --frozen --no-dev "$@" --no-cache \ && npm ci --prefer-offline --no-audit --no-fund \ - && npm ci --prefix ui-tui --prefer-offline --no-audit --no-fund \ - && npm run build --prefix ui-tui \ - && npm ci --prefix web --prefer-offline --no-audit --no-fund \ - && npm run build --prefix web \ + && if [ -f ui-tui/package-lock.json ]; then \ + npm ci --prefix ui-tui --prefer-offline --no-audit --no-fund \ + && npm run build --prefix ui-tui; \ + fi \ + && if [ -f web/package-lock.json ]; then \ + npm ci --prefix web --prefer-offline --no-audit --no-fund \ + && npm run build --prefix web; \ + fi \ && rm -rf /tmp/camoufox-* \ && ln -sf /opt/hermes/.venv/bin/hermes /usr/local/bin/hermes \ && ln -sf /opt/hermes/.venv/bin/hermes-agent /usr/local/bin/hermes-agent \