fix(e2e): stabilize backup and dashboard regressions#3622
Conversation
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
|
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 (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughAdds a sandbox directory-restore helper and uses it in restores; makes sandbox inference-route probe checks non-fatal and quiet; adds port-forward port-conflict detection plus bounded retries and test updates; tightens E2E credential-leak regexes and re-emits updated test inventory entries. ChangesSandbox and Workload Resilience
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 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 docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Comment |
E2E Advisor RecommendationRequired E2E: Dispatch hint: Auto-dispatched E2E: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
Selective E2E Results — ✅ All requested jobs passedRun: 25936665716
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@scripts/backup-workspace.sh`:
- Around line 83-112: The restore_directory function treats restores as failures
unless at least one file was uploaded because only the file-upload loop sets
restored=1; update the logic so creating empty directories counts as success by
setting restored=1 inside the directory-creation loop (the second while that
runs find ... -type d and calls openshell sandbox exec -- mkdir -p) or by
introducing a separate flag (e.g., created_dirs) and include it in the final
return calculation; adjust the return "$((1 - restored))" accordingly so
successful empty-directory restores return 0.
In `@src/lib/onboard.ts`:
- Around line 9314-9319: The current looksLikePortConflict check treats an empty
fwdDiagnostic as a port-conflict; change the boolean logic so an empty
diagnostic is NOT considered a match. Update the expression that builds
looksLikePortConflict (and the similar check later) to require a non-empty
fwdDiagnostic before applying the regex (e.g., remove the fwdDiagnostic === ""
branch and guard the /eaddrinuse|.../.test(fwdDiagnostic) call with a truthy
fwdDiagnostic), keeping the existing checks on fwdResult and fwdResult.status
intact so only explicit diagnostic text can trigger the conflict/rollback path.
🪄 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: c53c371d-ce1f-4a74-9683-23a8dc634559
📒 Files selected for processing (9)
scripts/backup-workspace.shsrc/lib/actions/sandbox/connect.tssrc/lib/onboard.tstest/e2e/docs/parity-inventory.generated.jsontest/e2e/test-rebuild-hermes.shtest/e2e/test-rebuild-openclaw.shtest/e2e/test-sandbox-rebuild.shtest/e2e/test-snapshot-commands.shtest/onboard.test.ts
Selective E2E Results — ✅ All requested jobs passedRun: 25936741768
|
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Selective E2E Results — ✅ All requested jobs passedRun: 25937533599
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@src/lib/onboard/forward-start.ts`:
- Around line 40-42: The function looksLikeForwardPortConflict currently treats
an empty string as a port-conflict (diagnostic === ""), causing unrelated
failures to be classified as port conflicts; update looksLikeForwardPortConflict
to remove the empty-string check and only return true when the diagnostic
matches the port-related regex (/eaddrinuse|address already in use|port .* in
use|bind: .*in use/i), so empty or missing diagnostics do not trigger retries or
beforeRetry().
🪄 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: ac1288b5-1d2c-4e94-a6f3-7288ea915043
📒 Files selected for processing (3)
src/lib/onboard.tssrc/lib/onboard/forward-start.tstest/onboard.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- src/lib/onboard.ts
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Selective E2E Results — ✅ All requested jobs passedRun: 25938431606
|
Selective E2E Results — ✅ All requested jobs passedRun: 25938765714
|
Selective E2E Results — ✅ All requested jobs passedRun: 25938932775
|
# Conflicts: # scripts/backup-workspace.sh # test/e2e/docs/parity-inventory.generated.json # test/e2e/test-snapshot-commands.sh
Selective E2E Results — ✅ All requested jobs passedRun: 25940807392
|
Summary
Keeps the remaining non-overlapping E2E stabilization fixes after #3617 and #3619 landed. This PR now focuses on probe-only connect semantics and dashboard forward-start retries; backup directory restore and snapshot lockfile scan fixes are provided by the merged PRs.
Changes
connect --probe-onlyattempt inference-route repair without hard-failing dashboard/process recovery on an unrecoverable route.src/lib/onboard/forward-start.tssosrc/lib/onboard.tsstays within the entrypoint budget.test/onboard.test.tsfor the forward-start retry helper.Type of Change
Verification
npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Signed-off-by: Carlos Villela cvillela@nvidia.com