Skip to content

test(e2e): migrate channels stop/start to Vitest#5577

Closed
cv wants to merge 1 commit into
e2e-phase6-telegram-injectionfrom
e2e-phase6-channels-stop-start
Closed

test(e2e): migrate channels stop/start to Vitest#5577
cv wants to merge 1 commit into
e2e-phase6-telegram-injectionfrom
e2e-phase6-channels-stop-start

Conversation

@cv

@cv cv commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

Migrates the channels stop/start E2E lifecycle into the live Vitest system. The replacement keeps the OpenClaw and Hermes real install, channels CLI, rebuild, registry, provider, policy-list, and in-sandbox configuration boundaries.

Related Issue

Refs #5098

Changes

  • Add test/e2e-scenario/live/channels-stop-start.test.ts as Vitest coverage for test/e2e/test-channels-stop-start.sh.
  • Wire a matrixed channels-stop-start-vitest job into .github/workflows/e2e-vitest-scenarios.yaml for OpenClaw and Hermes.
  • Reuse the Phase 6 helper introduced by the Telegram injection migration for install, cleanup, env, and sandbox probes.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Verification

  • PR description includes the DCO sign-off declaration and every commit appears as Verified in GitHub
  • Git hooks passed during commit and push, or npx prek run --from-ref main --to-ref HEAD passes
  • Targeted tests pass for changed behavior
  • Full npm test passes (broad runtime changes only)
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Carlos Villela cvillela@nvidia.com

@cv cv self-assigned this Jun 22, 2026
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a293f402-8d0a-4840-88bc-ba86b90082f7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch e2e-phase6-channels-stop-start

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-code-quality

github-code-quality Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in the branch is 96%. Coverage data for the branch is not yet available.

Show a code coverage summary of the most covered files.
File 880e88a +/-
nemoclaw/src/se...cret-scanner.ts 100%
nemoclaw/src/commands/slash.ts 100%
nemoclaw/src/li...bprocess-env.ts 100%
nemoclaw/src/bl...eprint/state.ts 98%
nemoclaw/src/onboard/config.ts 98%
nemoclaw/src/bl...int/snapshot.ts 97%
nemoclaw/src/bl...print/runner.ts 95%
nemoclaw/src/co...ration-state.ts 94%
nemoclaw/src/bl...ate-networks.ts 94%
nemoclaw/src/index.ts 94%

TypeScript / code-coverage/cli

The overall coverage in the branch is 46%. Coverage data for the branch is not yet available.

Show a code coverage summary of the most covered files.
File 880e88a +/-
src/lib/state/o...oard-session.ts 91%
src/lib/inference/local.ts 76%
src/lib/sandbox/config.ts 72%
src/lib/actions...dbox/rebuild.ts 67%
src/lib/onboard/preflight.ts 64%
src/lib/actions...licy-channel.ts 56%
src/lib/state/sandbox.ts 55%
src/lib/policy/index.ts 49%
src/lib/onboard...er-gpu-patch.ts 44%
src/lib/onboard.ts 18%

Updated June 22, 2026 01:11 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: channels-stop-start-vitest
Optional E2E: channels-add-remove-vitest, messaging-providers-vitest, network-policy-vitest, sandbox-rebuild-vitest

Dispatch hint: channels-stop-start-vitest

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/e2e-phase6-telegram-injection
Head: HEAD
Confidence: high

Required E2E

  • channels-stop-start-vitest (high): This is the job added by the PR and directly validates the new workflow wiring plus the new live Vitest scenario for channel stop/start lifecycle across both OpenClaw and Hermes agents.

Optional E2E

  • channels-add-remove-vitest (high): Adjacent messaging-channel lifecycle coverage that validates add/remove behavior and can catch regressions in shared helpers or workflow assumptions around channel provisioning.
  • messaging-providers-vitest (medium): Useful adjacent confidence for provider registration/reuse behavior that the new stop/start scenario also asserts.
  • network-policy-vitest (medium): Optional because the new scenario checks policy presets for channels, but this broader network policy E2E can provide extra assurance if reviewers are concerned about policy-list or preset interactions.
  • sandbox-rebuild-vitest (medium): Optional adjacent coverage for rebuild behavior, since the new scenario depends on rebuilds after stopping and starting channels.

New E2E recommendations

  • None.

Dispatch hint

  • Workflow: .github/workflows/e2e-vitest-scenarios.yaml
  • jobs input: channels-stop-start-vitest

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Recommendation

Required Vitest E2E scenarios: channels-stop-start-vitest
Optional Vitest E2E scenarios: None

Dispatch required Vitest E2E scenarios:

  • gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=channels-stop-start-vitest

Workflow run

Full Vitest E2E advisor summary

Vitest E2E Scenario Advisor

Base: origin/e2e-phase6-telegram-injection
Head: HEAD
Confidence: high

Required Vitest E2E scenarios

  • channels-stop-start-vitest: Focused free-standing Vitest job wired for changed live test test/e2e-scenario/live/channels-stop-start.test.ts.
    • Dispatch: gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=channels-stop-start-vitest

Optional Vitest E2E scenarios

  • None.

Relevant changed files

  • .github/workflows/e2e-vitest-scenarios.yaml
  • test/e2e-scenario/live/channels-stop-start.test.ts

@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Review posture: No blocking advisor findings
Action expectation: Address required items before merge. Resolve or explicitly justify warnings. Treat suggestions as current-PR improvements when they touch changed code; defer only with maintainer rationale or a linked follow-up.
Findings: 0 required fixes, 0 items to resolve/justify, 0 in-scope improvements
Top item: No actionable findings

Test follow-ups to resolve or justify

If these cover changed behavior, prefer adding them in this PR; otherwise state why existing coverage is enough or link the follow-up.

  • Runtime validation — Behavior to validate in live runtime: channels-stop-start-vitest selects the channels-stop-start scenario and runs both openclaw and hermes matrix shards.. The changed behavior is a live workflow/sandbox lifecycle path involving Docker, install.sh, OpenShell, provider registry state, sandbox rebuilds, and in-sandbox config files. Static review can confirm the intended coverage is present, but only runtime validation can prove the workflow selector and both agent shards execute successfully.
  • Runtime validation — Behavior to validate in live runtime: channels stop followed by rebuild removes telegram, discord, wechat, slack, and whatsapp from the baked agent config while keeping registry inputs and provider records.. The changed behavior is a live workflow/sandbox lifecycle path involving Docker, install.sh, OpenShell, provider registry state, sandbox rebuilds, and in-sandbox config files. Static review can confirm the intended coverage is present, but only runtime validation can prove the workflow selector and both agent shards execute successfully.
  • Runtime validation — Behavior to validate in live runtime: channels start followed by rebuild restores telegram, discord, wechat, slack, and whatsapp from cached providers without prompting for new credentials.. The changed behavior is a live workflow/sandbox lifecycle path involving Docker, install.sh, OpenShell, provider registry state, sandbox rebuilds, and in-sandbox config files. Static review can confirm the intended coverage is present, but only runtime validation can prove the workflow selector and both agent shards execute successfully.

Workflow run details

This is an automated, non-binding review; it still expects maintainers and agents to respond to each finding. A human maintainer must make the final merge decision.

@cv

cv commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #5580, which keeps the test entrypoint linear for the codebase growth guardrail and includes the updated shared Phase 6 helper base.

@cv cv closed this Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants