Skip to content
Closed
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 43 additions & 1 deletion .github/workflows/nightly-e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
# openclaw-inference-switch-e2e
# Switches a running OpenClaw sandbox with `nemoclaw inference set`
# and verifies route, openclaw.json, hashes, and live requests.
# openclaw-tui-chat-correlation-e2e
# Verifies the pinned OpenClaw version and rapid TUI/WebChat
# correlation proof for #3145.
# credential-migration-e2e Validates legacy ~/.nemoclaw/credentials.json migration to the
# OpenShell gateway, secure zero-fill on unlink, allowlist filter
# on non-credential env keys, and symlink-safe deletion.
Expand Down Expand Up @@ -73,7 +76,7 @@ on:
issue-2478-crash-loop-recovery-e2e, hermes-e2e,
hermes-inference-switch-e2e, hermes-discord-e2e,
hermes-slack-e2e, sandbox-operations-e2e, inference-routing-e2e,
openclaw-inference-switch-e2e,
openclaw-inference-switch-e2e, openclaw-tui-chat-correlation-e2e,
network-policy-e2e, state-backup-restore-e2e, tunnel-lifecycle-e2e, diagnostics-e2e,
credential-migration-e2e,
snapshot-commands-e2e, shields-config-e2e, rebuild-openclaw-e2e,
Expand Down Expand Up @@ -1108,6 +1111,42 @@ jobs:
path: /tmp/nemoclaw-e2e-openclaw-inference-switch-install.log
if-no-files-found: ignore

# ── OpenClaw TUI chat correlation E2E ───────────────────────
# Verifies the pinned OpenClaw version that contains the upstream #3145 fix,
# then runs the rapid chat.send/WebSocket correlation proof against a live
# NemoClaw-created OpenClaw sandbox.
openclaw-tui-chat-correlation-e2e:
if: >-
github.repository == 'NVIDIA/NemoClaw' &&
(github.event_name != 'workflow_dispatch' ||
inputs.jobs == '' ||
contains(format(',{0},', inputs.jobs), ',openclaw-tui-chat-correlation-e2e,'))
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ inputs.target_ref || github.ref }}

- name: Run OpenClaw TUI chat correlation E2E test
env:
NVIDIA_API_KEY: ${{ secrets.NVIDIA_API_KEY }}
NEMOCLAW_NON_INTERACTIVE: "1"
NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE: "1"
NEMOCLAW_SANDBOX_NAME: "e2e-openclaw-tui-correlation"
NEMOCLAW_RECREATE_SANDBOX: "1"
GITHUB_TOKEN: ${{ github.token }}
run: bash test/e2e/test-openclaw-tui-chat-correlation.sh

- name: Upload install log on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: openclaw-tui-chat-correlation-install-log
path: /tmp/nemoclaw-e2e-openclaw-tui-correlation-install.log
if-no-files-found: ignore

# ── Network policy E2E ───────────────────────────────────────
# TC-NET-01..07, TC-NET-09: deny-by-default, whitelist, live policy-add,
# dry-run, hot-reload, inference exemption, permissive mode, SSRF validation.
Expand Down Expand Up @@ -2045,6 +2084,7 @@ jobs:
sandbox-operations-e2e,
inference-routing-e2e,
openclaw-inference-switch-e2e,
openclaw-tui-chat-correlation-e2e,
network-policy-e2e,
state-backup-restore-e2e,
tunnel-lifecycle-e2e,
Expand Down Expand Up @@ -2138,6 +2178,7 @@ jobs:
sandbox-operations-e2e,
inference-routing-e2e,
openclaw-inference-switch-e2e,
openclaw-tui-chat-correlation-e2e,
network-policy-e2e,
state-backup-restore-e2e,
tunnel-lifecycle-e2e,
Expand Down Expand Up @@ -2288,6 +2329,7 @@ jobs:
sandbox-operations-e2e,
inference-routing-e2e,
openclaw-inference-switch-e2e,
openclaw-tui-chat-correlation-e2e,
network-policy-e2e,
state-backup-restore-e2e,
tunnel-lifecycle-e2e,
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.base
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ RUN printf '%s\n' \
# OpenClaw version: change the OPENCLAW_VERSION ARG default so CI rebuilds
# the base image on push to main, or use workflow_dispatch on base-image.yaml
# with the openclaw_version input for a one-off build without editing this file.
ARG OPENCLAW_VERSION=2026.4.24
ARG OPENCLAW_VERSION=2026.4.25

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

Expand Down
2 changes: 1 addition & 1 deletion agents/openclaw/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ homepage: "https://openclaw.ai"
install_method: npm # npm install -g openclaw@<version>
binary_path: /usr/local/bin/openclaw
version_command: "openclaw --version"
expected_version: "2026.4.24"
expected_version: "2026.4.25"
gateway_command: "openclaw gateway run"

# ── Health probe ────────────────────────────────────────────────
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ Existing sandboxes do not auto-upgrade when a newer NemoClaw release ships a new
```console
$ nemoclaw my-assistant status
...
Agent: OpenClaw v2026.4.24
Agent: OpenClaw v2026.4.25
...
```

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ Existing sandboxes do not auto-upgrade when a newer NemoClaw release ships a new
```console
$ nemoclaw my-assistant status
...
Agent: OpenClaw v2026.4.24
Agent: OpenClaw v2026.4.25
...
```

Expand Down
2 changes: 1 addition & 1 deletion nemoclaw-blueprint/blueprint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
version: "0.1.0"
min_openshell_version: "0.0.39"
max_openshell_version: "0.0.39"
min_openclaw_version: "2026.4.24"
min_openclaw_version: "2026.4.25"
# Mirrors the components.sandbox.image manifest digest below. Lets a
# downstream consumer (or release tooling) verify the blueprint declares
# a specific sandbox image without parsing the components tree, and
Expand Down
59 changes: 59 additions & 0 deletions test/e2e/docs/parity-map.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7110,6 +7110,65 @@ scripts:
reason: legacy assertion is obsolete or negative cleanup behavior after scenario migration
reviewer: e2e-maintainers
approved_at: '2026-05-13'
test-openclaw-tui-chat-correlation.sh:
scenario: ''
status: deferred
bucket: providers-messaging
assertions:
- &openclaw_tui_correlation_deferred
legacy: Pre-cleanup complete
status: deferred
reason: "live #3145 regression guard retained until scenario framework has a TUI/WebChat correlation suite"
owner: e2e-maintainers
runner_requirement: Docker-capable sandbox runner with NemoClaw/OpenShell CLIs and NVIDIA_API_KEY
- <<: *openclaw_tui_correlation_deferred
legacy: Docker is running
- <<: *openclaw_tui_correlation_deferred
legacy: Docker is not running
- <<: *openclaw_tui_correlation_deferred
legacy: NVIDIA_API_KEY is set
- <<: *openclaw_tui_correlation_deferred
legacy: NVIDIA_API_KEY not set or invalid
- <<: *openclaw_tui_correlation_deferred
legacy: NEMOCLAW_NON_INTERACTIVE=1
- <<: *openclaw_tui_correlation_deferred
legacy: NEMOCLAW_NON_INTERACTIVE=1 is required
- <<: *openclaw_tui_correlation_deferred
legacy: Third-party software acceptance is set
- <<: *openclaw_tui_correlation_deferred
legacy: NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE=1 is required
- <<: *openclaw_tui_correlation_deferred
legacy: 'Could not cd to repo root: $REPO'
- <<: *openclaw_tui_correlation_deferred
legacy: install.sh completed
- <<: *openclaw_tui_correlation_deferred
legacy: install.sh failed (exit ${install_exit})
- <<: *openclaw_tui_correlation_deferred
legacy: nemoclaw not found on PATH
- <<: *openclaw_tui_correlation_deferred
legacy: openshell not found on PATH
- <<: *openclaw_tui_correlation_deferred
legacy: nemoclaw and openshell are on PATH
- <<: *openclaw_tui_correlation_deferred
legacy: Sandbox uses OpenClaw ${expected_openclaw_version}
- <<: *openclaw_tui_correlation_deferred
legacy: 'Sandbox OpenClaw version mismatch; expected ${expected_openclaw_version:-unknown}, got: ${plain_openclaw_version:0:240}'
- <<: *openclaw_tui_correlation_deferred
legacy: nemoclaw inference set completed
- <<: *openclaw_tui_correlation_deferred
legacy: 'nemoclaw inference set failed (exit ${switch_rc}): ${switch_output:0:500}'
- <<: *openclaw_tui_correlation_deferred
legacy: OpenShell route points at ${SWITCH_PROVIDER} / ${SWITCH_MODEL}
- <<: *openclaw_tui_correlation_deferred
legacy: 'OpenShell route did not switch to ${SWITCH_PROVIDER} / ${SWITCH_MODEL}: ${plain_route_output:0:400}'
- <<: *openclaw_tui_correlation_deferred
legacy: OpenClaw live chat correlation proof passed
- <<: *openclaw_tui_correlation_deferred
legacy: OpenClaw live chat correlation proof failed
- <<: *openclaw_tui_correlation_deferred
legacy: Sandbox ${SANDBOX_NAME} still in registry after destroy
- <<: *openclaw_tui_correlation_deferred
legacy: Sandbox ${SANDBOX_NAME} removed
test-openclaw-plugin-runtime-exdev.sh:
scenario: ''
status: deferred
Expand Down
Loading
Loading