fix(e2e): mirror skill fixture to passwd-based home directory#3956
fix(e2e): mirror skill fixture to passwd-based home directory#3956hunglp6d wants to merge 1 commit into
Conversation
The add-sandbox-skill.sh helper mirrors skill files into $HOME/.openclaw/skills/, but inside an OpenShell SSH session $HOME resolves to /sandbox (the sandbox working directory) rather than /home/sandbox (the passwd entry). The OpenClaw agent's managed-skills loader resolves the skills path via os.homedir() / getpwnam, which returns /home/sandbox, so the skill ENOENT'd on every agent turn. Query the passwd-reported home via `getent passwd` and mirror the skill there when it differs from $HOME, so both resolution paths find the injected SKILL.md. Fixes the skill-agent-e2e failure in nightly run 26197765497. Signed-off-by: Hung Le <hple@nvidia.com>
|
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. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 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
|
PR Review AdvisorRecommendation: blocked This is an automated advisory review. A human maintainer must make the final merge decision. Limitations: Review used the provided deterministic GitHub context and read-only repository inspection; no tests, scripts, package-manager commands, or workflows were executed.; CI and E2E recommendation were still in progress at review time, so final merge readiness cannot be established.; No resolved/unresolved review-thread state beyond the provided context was independently queried; CodeRabbit skipped review because the PR is draft.; The linked issue entry in the context returned 404, so acceptance mapping is limited to literal PR body and PR comment clauses rather than a real linked issue. Full advisor summaryPR Review AdvisorBase: The one-file E2E helper change is narrowly scoped and appears directionally correct, but the PR is draft/merge-blocked with CI and E2E recommendation still in progress, so it should not merge yet. Gate status
🔴 Blockers
🟡 Warnings
🔵 Suggestions
Acceptance coverage
Security review
Test / E2E status
✅ What looks good
Review completeness
|
Summary
The
add-sandbox-skill.shhelper mirrors injected skill files into$HOME/.openclaw/skills/, but inside an OpenShell SSH session$HOMEresolves to/sandbox(the sandbox working directory) rather than/home/sandbox(thesandboxuser's passwd entry). The OpenClaw agent's managed-skills loader resolves the skills directory viaos.homedir()/getpwnam, which returns/home/sandbox, causing[tools] read failed: ENOENTon every agent turn.This PR adds a secondary mirror into the passwd-reported home directory (queried via
getent passwd) when it differs from$HOME, so the skillSKILL.mdis reachable regardless of which path resolution the consumer uses.Related Issue
Fixes #3958
Changes
test/e2e/e2e-cloud-experimental/features/skill/add-sandbox-skill.sh: After mirroring to$HOME/.openclaw/skills/<id>/, query the passwd-based home viagetent passwdand mirror there too when it differs from$HOME.Validation
The
-custom-e2evalidation branch could not be pushed because the automation token lacks theworkflowscope (required by GitHub to push.github/workflows/files). Manual validation: re-runskill-agent-e2eon this branch viagh workflow run nightly-e2e.yaml --repo NVIDIA/NemoClaw --ref fix/nightly-e2e-skill-agent-home-path-f19061e -f jobs=skill-agent-e2e.f19061ec9b79d019afdb274786ff0211182dc8dfskill-agent-e2e (#77080825135)Type of Change
Verification
npx prek run --all-filespassesnpm testpassesAI Disclosure
Signed-off-by: Hung Le hple@nvidia.com