test: release blocker validation run#4119
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a CLI patch that adjusts OpenClaw runtime JS for chat/send run-id correlation and idempotency, integrates the script into Docker and sandbox staging, provides unit and E2E tests (including a cloud-backed TUI correlation harness), extends correlation trace analysis, and wires two selective-dispatch nightly CI jobs into aggregators. ChangesOpenClaw Chat Correlation Compatibility Layer
Sequence DiagramsequenceDiagram
participant Dev as Patch Script
participant Docker as Docker Build
participant Dist as OpenClaw dist
participant Sandbox as Provisioned Sandbox
participant Vitest as Vitest Live Test
participant Analysis as Correlation Analysis
Dev->>Docker: COPY patch-openclaw-chat-send.js into image
Docker->>Dist: RUN patch script against compiled dist
Docker->>Sandbox: produce image with patched runtime
Sandbox->>Vitest: run TUI correlation harness against 2026.5.18
Vitest->>Sandbox: send prompts via websocket
Sandbox->>Vitest: stream delta and final chat events
Vitest->>Analysis: collect and analyze trace events
Analysis->>Analysis: compute missing/duplicate/correlation metrics
Vitest->>Vitest: assert metrics empty
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
E2E Advisor RecommendationRequired E2E: Dispatch hint: Auto-dispatched E2E: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
E2E Scenario Advisor RecommendationRequired scenario E2E: None Full scenario advisor summaryE2E Scenario AdvisorBase: Required scenario E2E
Optional scenario E2E
Relevant changed files
|
PR Review AdvisorFindings: 3 needs attention, 1 worth checking, 0 nice ideas Review findings🛠️ Needs attention
🔎 Worth checking
🌱 Nice ideas
Since last review detailsCurrent findings:
This is an automated advisory review. A human maintainer must make the final merge decision. |
Selective E2E Results — ❌ Some jobs failedRun: 26321351519
|
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Selective E2E Results — ❌ Some jobs failedRun: 26321747082
|
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Selective E2E Results — ❌ Some jobs failedRun: 26321864900
|
Selective E2E Results — ✅ All requested jobs passedRun: 26321312107
|
Selective E2E Results — ❌ Some jobs failedRun: 26321372633
|
Selective E2E Results — ✅ All requested jobs passedRun: 26321830179
|
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Selective E2E Results — ❌ Some jobs failedRun: 26322997840
|
Selective E2E Results — ❌ Some jobs failedRun: 26323019724
|
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Selective E2E Results — ❌ Some jobs failedRun: 26323387646
|
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Selective E2E Results — ❌ Some jobs failedRun: 26323703975
|
Selective E2E Results — ✅ All requested jobs passedRun: 26324116054
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
.github/workflows/nightly-e2e.yaml (2)
82-109:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd the new
issue-3600-gpu-proof-optional-e2ejob ID toworkflow_dispatch.inputs.jobsvalid list.The selective-dispatch jobs contract is now incomplete: one newly added dispatchable job is missing from the documented valid list.
As per coding guidelines, "Keep the selective-dispatch “jobs” contract consistent: add/rename E2E job IDs in
workflow_dispatch.inputs.jobs."🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/nightly-e2e.yaml around lines 82 - 109, The workflow_dispatch.inputs.jobs valid list is missing the new job ID; update the list (the "Valid:" array used for workflow_dispatch.inputs.jobs) to include the string "issue-3600-gpu-proof-optional-e2e" so the selective-dispatch contract remains consistent with the added dispatchable job; ensure the new ID is added alongside the other comma-separated job IDs in the same formatting style.
2439-2490:⚠️ Potential issue | 🟠 Major | ⚡ Quick winInclude both new E2E jobs in aggregate
needslists (notify-on-failure,report-to-pr,scorecard).Right now, failures from
openclaw-tui-chat-correlation-e2eandissue-3600-gpu-proof-optional-e2eare omitted from nightly notifications, PR summary comments, and scorecard aggregation.Also applies to: 2539-2590, 2696-2747
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/nightly-e2e.yaml around lines 2439 - 2490, The nightly workflow's aggregate "needs" arrays are missing the two new E2E jobs so their failures are not included in notifications, PR report, or scorecard; update the needs lists used by the notify/report/scorecard jobs (the arrays currently listing many e2e jobs) to include both "openclaw-tui-chat-correlation-e2e" and "issue-3600-gpu-proof-optional-e2e", and apply the same addition in the other two mirrored blocks noted (the other arrays at the same sections referenced) so all three aggregate job definitions ("notify-on-failure", "report-to-pr", "scorecard") include these two job names.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/nightly-e2e.yaml:
- Line 417: Replace the mutable tag "actions/setup-node@v6" with a pinned commit
SHA (or digest) wherever it appears in the workflow (the three occurrences of
the uses entry "actions/setup-node@v6"); update each "uses:" line to reference
the full commit SHA string for actions/setup-node to prevent mutable-tag drift
and ensure reproducible runs.
---
Outside diff comments:
In @.github/workflows/nightly-e2e.yaml:
- Around line 82-109: The workflow_dispatch.inputs.jobs valid list is missing
the new job ID; update the list (the "Valid:" array used for
workflow_dispatch.inputs.jobs) to include the string
"issue-3600-gpu-proof-optional-e2e" so the selective-dispatch contract remains
consistent with the added dispatchable job; ensure the new ID is added alongside
the other comma-separated job IDs in the same formatting style.
- Around line 2439-2490: The nightly workflow's aggregate "needs" arrays are
missing the two new E2E jobs so their failures are not included in
notifications, PR report, or scorecard; update the needs lists used by the
notify/report/scorecard jobs (the arrays currently listing many e2e jobs) to
include both "openclaw-tui-chat-correlation-e2e" and
"issue-3600-gpu-proof-optional-e2e", and apply the same addition in the other
two mirrored blocks noted (the other arrays at the same sections referenced) so
all three aggregate job definitions ("notify-on-failure", "report-to-pr",
"scorecard") include these two job names.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: aac65153-9c15-45fc-b0a3-8745fbbed8c2
📒 Files selected for processing (10)
.github/workflows/nightly-e2e.yamlDockerfilescripts/patch-openclaw-chat-send.jssrc/lib/sandbox/build-context.tstest/e2e/test-openclaw-tui-chat-correlation.shtest/e2e/test-token-rotation.shtest/fetch-guard-patch-regression.test.tstest/openclaw-chat-send-patch.test.tstest/openclaw-tui-chat-correlation.test.tstest/sandbox-build-context.test.ts
…-validation-20260522
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/nightly-e2e.yaml (1)
470-478: ⚡ Quick winAvoid binding this validation to the next function name.
This slice ends at the literal
function upsertMessagingProviders, so an unrelated rename/reorder/formatting change insrc/lib/onboard.tswill fail the workflow even ifverifyDirectSandboxGpustill keeps the optional guard before the throw. Bound the check toverifyDirectSandboxGpuitself instead of the neighboring symbol.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/nightly-e2e.yaml around lines 470 - 478, The check currently slices source up to the literal "function upsertMessagingProviders", which couples the test to a neighboring symbol; instead locate the "function verifyDirectSandboxGpu" start (already found in variable start) and compute the function end by finding its matching closing brace (e.g., by scanning forward and tracking brace depth) so you set end based on the matched '}' for verifyDirectSandboxGpu and then slice into fn and run the same optional/throw checks; update the logic that computes end (and the variables end/fn) so the validation only inspects verifyDirectSandboxGpu itself rather than the next function name.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/workflows/nightly-e2e.yaml:
- Around line 470-478: The check currently slices source up to the literal
"function upsertMessagingProviders", which couples the test to a neighboring
symbol; instead locate the "function verifyDirectSandboxGpu" start (already
found in variable start) and compute the function end by finding its matching
closing brace (e.g., by scanning forward and tracking brace depth) so you set
end based on the matched '}' for verifyDirectSandboxGpu and then slice into fn
and run the same optional/throw checks; update the logic that computes end (and
the variables end/fn) so the validation only inspects verifyDirectSandboxGpu
itself rather than the next function name.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: c5138a20-8977-44c9-967b-e13c8b9c2b44
📒 Files selected for processing (1)
.github/workflows/nightly-e2e.yaml
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Selective E2E Results — ✅ All requested jobs passedRun: 26324533661
|
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/nightly-e2e.yaml (1)
403-496:⚠️ Potential issue | 🟠 MajorUpdate
.coderabbit.yamlpath_instructionsfor the new nightly E2E jobs
.coderabbit.yamlhas apath: "src/lib/onboard.ts"entry, but it doesn’t mention/routeissue-3600-gpu-proof-optional-e2e.- There are no
path_instructionsmatches foropenclaw-tui-chat-correlation-e2eor its executed scripttest/e2e/test-openclaw-tui-chat-correlation.sh, so selective review routing for changes in that area will miss these jobs.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/nightly-e2e.yaml around lines 403 - 496, The .coderabbit.yaml path_instructions missing entries for the new nightly E2E jobs means changes to relevant files won't be routed; update .coderabbit.yaml to add path_instructions that match the new job targets: include an entry mapping "openclaw-tui-chat-correlation-e2e" to the test script path test/e2e/test-openclaw-tui-chat-correlation.sh (and any related sandbox names), and add an entry mapping "issue-3600-gpu-proof-optional-e2e" to src/lib/onboard.ts so changes to the verifyDirectSandboxGpu function are routed; ensure the match patterns include both the job names and the specific paths (test/e2e/... and src/lib/onboard.ts) so selective review triggers correctly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In @.github/workflows/nightly-e2e.yaml:
- Around line 403-496: The .coderabbit.yaml path_instructions missing entries
for the new nightly E2E jobs means changes to relevant files won't be routed;
update .coderabbit.yaml to add path_instructions that match the new job targets:
include an entry mapping "openclaw-tui-chat-correlation-e2e" to the test script
path test/e2e/test-openclaw-tui-chat-correlation.sh (and any related sandbox
names), and add an entry mapping "issue-3600-gpu-proof-optional-e2e" to
src/lib/onboard.ts so changes to the verifyDirectSandboxGpu function are routed;
ensure the match patterns include both the job names and the specific paths
(test/e2e/... and src/lib/onboard.ts) so selective review triggers correctly.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 7abe4b6e-1d63-48fd-8b51-a6fd7338b893
📒 Files selected for processing (2)
.github/workflows/nightly-e2e.yamlscripts/patch-openclaw-chat-send.js
💤 Files with no reviewable changes (1)
- scripts/patch-openclaw-chat-send.js
Selective E2E Results — ✅ All requested jobs passedRun: 26324678236
|
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Selective E2E Results — ✅ All requested jobs passedRun: 26324884099
|
Summary
Validation runs
Current evidence
Issue gates
This PR is for test evidence only.
Summary by CodeRabbit
New Features
CI / Chores
Tests
Config