fix(e2e): shard channel stop-start nightly#5212
Conversation
Signed-off-by: San Dang <sdang@nvidia.com>
📝 WalkthroughWalkthroughThis PR splits the channels stop-start E2E test into two sharded jobs by agent, parameterizes the test script to run OpenClaw, Hermes, or both via environment variable, and updates CI orchestration dependencies accordingly. A minor fix also redirects the overlayfs applicability check to a different source file. ChangesChannels Stop-Start E2E Test Sharding
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
E2E Advisor RecommendationRequired E2E: None Dispatch hint: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
Vitest E2E Scenario RecommendationRequired Vitest E2E scenarios: None Full Vitest E2E advisor summaryVitest E2E Scenario AdvisorBase: Required Vitest E2E scenarios
Optional Vitest E2E scenarios
Relevant changed files
|
PR Review AdvisorFindings: 0 needs attention, 3 worth checking, 1 nice ideas Review findings🛠️ Needs attention
🔎 Worth checking
🌱 Nice ideas
Consider writing more tests for
This is an automated advisory review. A human maintainer must make the final merge decision. |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/e2e/test-overlayfs-autofix.sh (1)
134-139: Applicability gate: grep pattern matches; add optional defensive guard
test/e2e/test-overlayfs-autofix.shgreps'platform === "linux"'insrc/lib/onboard/docker-driver-platform.ts; that file exists and containsreturn platform === "linux" || ..., so the Linux skip will trigger as intended.- Optional: guard the grep with an
-fcheck to avoid noisygrep: ... No such file or directoryif the file is renamed/removed in a future refactor.🛡️ Suggested fix
-if [ "$(uname -s)" = "Linux" ] && grep -q 'platform === "linux"' "$REPO_ROOT/src/lib/onboard/docker-driver-platform.ts"; then +if [ "$(uname -s)" = "Linux" ] && [ -f "$REPO_ROOT/src/lib/onboard/docker-driver-platform.ts" ] && grep -q 'platform === "linux"' "$REPO_ROOT/src/lib/onboard/docker-driver-platform.ts"; then section "Applicability" skip "OpenShell Docker-driver onboarding is active on Linux; k3s overlayfs auto-fix is not in the runtime path" print_summary exit 0 fi🤖 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 `@test/e2e/test-overlayfs-autofix.sh` around lines 134 - 139, The grep in test/e2e/test-overlayfs-autofix.sh currently assumes src/lib/onboard/docker-driver-platform.ts exists and can print "No such file" if it's missing; update the applicability gate to first check that the file exists (use a -f test on src/lib/onboard/docker-driver-platform.ts) before running grep for the pattern 'platform === "linux"'. If the file check fails, skip the grep and continue normal flow (i.e., do not treat missing file as a grep failure), keeping the existing skip behavior when the file exists and the pattern matches.
🤖 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 `@test/e2e/test-overlayfs-autofix.sh`:
- Around line 134-139: The grep in test/e2e/test-overlayfs-autofix.sh currently
assumes src/lib/onboard/docker-driver-platform.ts exists and can print "No such
file" if it's missing; update the applicability gate to first check that the
file exists (use a -f test on src/lib/onboard/docker-driver-platform.ts) before
running grep for the pattern 'platform === "linux"'. If the file check fails,
skip the grep and continue normal flow (i.e., do not treat missing file as a
grep failure), keeping the existing skip behavior when the file exists and the
pattern matches.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 036d8a60-c6e1-4e77-8d12-7bbb642ed500
📒 Files selected for processing (3)
.github/workflows/nightly-e2e.yamltest/e2e/test-channels-stop-start.shtest/e2e/test-overlayfs-autofix.sh
Selective E2E Results — ✅ All requested jobs passedRun: 27340814580
|
Summary
Shard the channel stop/start nightly E2E by agent so OpenClaw and Hermes coverage can run independently. This also keeps the overlayfs autofix E2E aligned with the refactored Docker-driver platform gate so it skips the legacy k3s path on Linux.
Changes
NEMOCLAW_CHANNELS_STOP_START_AGENTsupport totest/e2e/test-channels-stop-start.shforopenclaw,hermes, or the existing combinedallmode.channels-stop-start-e2eworkflow job intochannels-stop-start-openclaw-e2eandchannels-stop-start-hermes-e2ewith agent-specific env and artifacts.src/lib/onboard/docker-driver-platform.tsafter the Docker-driver gate moved there.Type of Change
Verification
npx prek run --all-filespassesnpm testpassesnpm run docsbuilds without warnings (doc changes only)Signed-off-by: San Dang sdang@nvidia.com
Summary by CodeRabbit