fix(e2e): repair current lifecycle coverage - #7688
Conversation
Signed-off-by: San Dang <sdang@nvidia.com>
Signed-off-by: San Dang <sdang@nvidia.com>
📝 WalkthroughWalkthroughThe PR adds prepared OpenShell gateway lifecycle handling and diagnostics, introduces typed release/current EXDEV fixtures with dynamic runtime validation, and supports multiline Dockerfile ChangesPost-reboot lifecycle handling
EXDEV runtime fixture orchestration
Dockerfile COPY parsing
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit bc6531f in the TypeScript / code-coverage/cliThe overall coverage in commit bc6531f in the Show a code coverage summary of the most impacted files.
Updated |
PR Review Advisor — No blocking findings reportedAdvisor assessment: No blocking advisor findings reported Model lanes
Nemotron output stays in workflow artifacts and does not change the assessment above. E2E guidanceAdvisory only. E2E / PR Gate selects and runs jobs independently. Recommended E2E: 1 warning · 0 suggestionsWarningsWarnings do not block.
|
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 `@test/e2e/live/openclaw-plugin-runtime-exdev.test.ts`:
- Around line 490-499: Update the OPENCLAW_VERSION extraction in the runtime
Dockerfile validation to collect all matching ARG declarations and assert
exactly one occurrence, consistent with the existing BASE_IMAGE and FROM anchor
checks. Continue validating the sole extracted value’s format and
release-fixture version match, and use that same unique value for the runtime
version assertion.
In `@test/e2e/live/registry-targets.test.ts`:
- Around line 106-117: Report the post-reboot preparation phase by calling
progress.phase(...) immediately before lifecycle.preparePostReboot() in the
post-reboot-recovery branch, using the established phase naming conventions.
Also add this phase to the declared E2E phases and any related lifecycle
whitelist/configuration required by the test fixture.
🪄 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: 692cdfac-2ab2-4ec9-b55c-36d1d859edd6
📒 Files selected for processing (11)
test/e2e/fixtures/phases/lifecycle.tstest/e2e/live/openclaw-plugin-runtime-exdev-env.tstest/e2e/live/openclaw-plugin-runtime-exdev-fixture.tstest/e2e/live/openclaw-plugin-runtime-exdev.test.tstest/e2e/live/rebuild-openclaw-old-base-context.tstest/e2e/live/registry-targets.test.tstest/e2e/manifests/openclaw-nvidia-post-reboot-recovery.yamltest/e2e/support/e2e-phase-lifecycle.test.tstest/e2e/support/openclaw-plugin-runtime-exdev-env.test.tstest/e2e/support/openclaw-plugin-runtime-exdev-fixture.test.tstest/e2e/support/rebuild-openclaw-old-base-context.test.ts
💤 Files with no reviewable changes (2)
- test/e2e/support/openclaw-plugin-runtime-exdev-env.test.ts
- test/e2e/live/openclaw-plugin-runtime-exdev-env.ts
Signed-off-by: San Dang <sdang@nvidia.com>
Signed-off-by: San Dang <sdang@nvidia.com>
Summary
Repair three current-lifecycle E2E failures from run 30318190116. Dockerfile rebuild fixtures now stage every logical
COPYsource, current EXDEV coverage keeps checkout source and sandbox base-image resolution coherent, and post-reboot recovery configures the gateway user service before restarting it.Changes
COPYinstructions. A regression test protects the missingpackage-lock.jsoncase while retaining traversal and secret-pattern rejection.Type of Change
Quality Gates
bc6531f6bacross the nine security categories. Result: PASS with no findings; command/path boundaries, secret-pattern rejection, managed-unit ownership guards, artifact redaction, and cleanup behavior remain constrained. The current module path is selected from a two-literal TypeScript union rather than external input.Documentation Writer Review
no-docs-neededorigin/main...bc6531f6bdiff remains limited to internal E2E fixtures, tests, metadata, and diagnostics. The amended test title names the managed OpenClaw module-path contract precisely. No user-facing documentation changes are needed. Biome, focused E2E-support tests, semantic phase coverage, title style, type-checking, hooks, andgit diff --checkpassed.DGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run check:diffpassed when hooks were skipped or unavailablenpm testfor broad runtime/test-harness changes;npm run checkfor repo-wide validation/coverage changes — command/result:npm testexceeded 10 minutes. Before timeout it reported unrelated environment/base-branch failures and one assertion-text mismatch fixed inec9f6f0f0; the focused 48-test set then passed. Required CI will provide the broad gate.npm run docsbuilds without warnings (doc changes only)Signed-off-by: San Dang sdang@nvidia.com
Summary by CodeRabbit
journalctloutput) in the error for faster troubleshooting.COPYparsing by supporting multiline instructions and better validating source tokens.COPYextraction.