diff --git a/scripts/e2e/kitchen-sink-plugin-docker.sh b/scripts/e2e/kitchen-sink-plugin-docker.sh index 58312e5e9cd..7bdadc2392d 100644 --- a/scripts/e2e/kitchen-sink-plugin-docker.sh +++ b/scripts/e2e/kitchen-sink-plugin-docker.sh @@ -24,6 +24,7 @@ SCENARIOS KITCHEN_SINK_SCENARIOS="${OPENCLAW_KITCHEN_SINK_PLUGIN_SCENARIOS:-$DEFAULT_KITCHEN_SINK_SCENARIOS}" MAX_MEMORY_MIB="${OPENCLAW_KITCHEN_SINK_MAX_MEMORY_MIB:-2048}" MAX_CPU_PERCENT="${OPENCLAW_KITCHEN_SINK_MAX_CPU_PERCENT:-1200}" +DOCKER_RUN_TIMEOUT="${OPENCLAW_KITCHEN_SINK_PLUGIN_DOCKER_RUN_TIMEOUT:-1200s}" CONTAINER_NAME="openclaw-kitchen-sink-plugin-e2e-$$" RUN_LOG="$(mktemp "${TMPDIR:-/tmp}/openclaw-kitchen-sink-plugin.XXXXXX")" STATS_LOG="$(mktemp "${TMPDIR:-/tmp}/openclaw-kitchen-sink-plugin-stats.XXXXXX")" @@ -57,7 +58,7 @@ fi echo "Running kitchen-sink plugin Docker E2E..." docker_e2e_docker_cmd rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true docker_e2e_harness_mount_args -docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME" "${DOCKER_E2E_HARNESS_ARGS[@]}" "${DOCKER_ENV_ARGS[@]}" -i "$IMAGE_NAME" bash scripts/e2e/lib/kitchen-sink-plugin/sweep.sh \ +DOCKER_COMMAND_TIMEOUT="$DOCKER_RUN_TIMEOUT" docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME" "${DOCKER_E2E_HARNESS_ARGS[@]}" "${DOCKER_ENV_ARGS[@]}" -i "$IMAGE_NAME" bash scripts/e2e/lib/kitchen-sink-plugin/sweep.sh \ >"$RUN_LOG" 2>&1 & docker_pid="$!" diff --git a/scripts/e2e/kitchen-sink-rpc-docker.sh b/scripts/e2e/kitchen-sink-rpc-docker.sh index fa1c4778267..e3fd5f112f6 100755 --- a/scripts/e2e/kitchen-sink-rpc-docker.sh +++ b/scripts/e2e/kitchen-sink-rpc-docker.sh @@ -7,6 +7,7 @@ source "$ROOT_DIR/scripts/lib/docker-e2e-image.sh" IMAGE_NAME="$(docker_e2e_resolve_image "openclaw-kitchen-sink-rpc-e2e" OPENCLAW_KITCHEN_SINK_RPC_E2E_IMAGE)" MAX_MEMORY_MIB="${OPENCLAW_KITCHEN_SINK_MAX_MEMORY_MIB:-2048}" MAX_CPU_PERCENT="${OPENCLAW_KITCHEN_SINK_MAX_CPU_PERCENT:-1200}" +DOCKER_RUN_TIMEOUT="${OPENCLAW_KITCHEN_SINK_RPC_DOCKER_RUN_TIMEOUT:-900s}" CONTAINER_NAME="openclaw-kitchen-sink-rpc-e2e-$$" RUN_LOG="$(mktemp "${TMPDIR:-/tmp}/openclaw-kitchen-sink-rpc.XXXXXX")" STATS_LOG="$(mktemp "${TMPDIR:-/tmp}/openclaw-kitchen-sink-rpc-stats.XXXXXX")" @@ -42,7 +43,7 @@ done echo "Running kitchen-sink RPC Docker E2E..." docker_e2e_docker_cmd rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true docker_e2e_harness_mount_args -docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME" "${DOCKER_E2E_HARNESS_ARGS[@]}" "${DOCKER_ENV_ARGS[@]}" -i "$IMAGE_NAME" \ +DOCKER_COMMAND_TIMEOUT="$DOCKER_RUN_TIMEOUT" docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME" "${DOCKER_E2E_HARNESS_ARGS[@]}" "${DOCKER_ENV_ARGS[@]}" -i "$IMAGE_NAME" \ node scripts/e2e/kitchen-sink-rpc-walk.mjs >"$RUN_LOG" 2>&1 & docker_pid="$!" diff --git a/scripts/e2e/onboard-docker.sh b/scripts/e2e/onboard-docker.sh index de0da81b958..ad56d4a4334 100755 --- a/scripts/e2e/onboard-docker.sh +++ b/scripts/e2e/onboard-docker.sh @@ -7,6 +7,7 @@ IMAGE_NAME="$(docker_e2e_resolve_image "openclaw-onboard-e2e" OPENCLAW_ONBOARD_E OPENCLAW_TEST_STATE_FUNCTION_B64="$(docker_e2e_test_state_function_b64)" MAX_MEMORY_MIB="${OPENCLAW_ONBOARD_MAX_MEMORY_MIB:-2048}" MAX_CPU_PERCENT="${OPENCLAW_ONBOARD_MAX_CPU_PERCENT:-1200}" +DOCKER_RUN_TIMEOUT="${OPENCLAW_ONBOARD_DOCKER_RUN_TIMEOUT:-1200s}" CONTAINER_NAME="openclaw-onboard-e2e-$$" RUN_LOG="$(mktemp "${TMPDIR:-/tmp}/openclaw-onboard.XXXXXX")" STATS_LOG="$(mktemp "${TMPDIR:-/tmp}/openclaw-onboard-stats.XXXXXX")" @@ -22,7 +23,7 @@ docker_e2e_build_or_reuse "$IMAGE_NAME" onboard echo "Running onboarding E2E..." docker_e2e_docker_cmd rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true docker_e2e_harness_mount_args -docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME" "${DOCKER_E2E_HARNESS_ARGS[@]}" -t \ +DOCKER_COMMAND_TIMEOUT="$DOCKER_RUN_TIMEOUT" docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME" "${DOCKER_E2E_HARNESS_ARGS[@]}" -t \ -e "OPENCLAW_TEST_STATE_FUNCTION_B64=$OPENCLAW_TEST_STATE_FUNCTION_B64" \ "$IMAGE_NAME" bash scripts/e2e/lib/onboard/scenario.sh >"$RUN_LOG" 2>&1 & docker_pid="$!" diff --git a/test/scripts/docker-build-helper.test.ts b/test/scripts/docker-build-helper.test.ts index 968b5bbf08b..96d675a491d 100644 --- a/test/scripts/docker-build-helper.test.ts +++ b/test/scripts/docker-build-helper.test.ts @@ -647,7 +647,10 @@ test -f "$TMPDIR/docker-cmd-seen" expect(runner, path).toContain('RUN_LOG="$(mktemp'); expect(runner, path).toContain('STATS_LOG="$(mktemp'); - expect(runner, path).toContain('docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME"'); + expect(runner, path).toContain( + 'DOCKER_COMMAND_TIMEOUT="$DOCKER_RUN_TIMEOUT" docker_e2e_docker_run_cmd run --name "$CONTAINER_NAME"', + ); + expect(runner, path).toContain('DOCKER_RUN_TIMEOUT="${OPENCLAW_'); expect(runner, path).toContain('docker_e2e_docker_cmd inspect "$CONTAINER_NAME"'); expect(runner, path).toContain("docker_e2e_docker_cmd stats --no-stream"); expect(runner, path).not.toMatch(/(^|\n)docker run --name "\$CONTAINER_NAME"/u);