fix(ci): validate installed managed plugins - #8227
Conversation
📝 WalkthroughWalkthroughThe managed-image workflow now discovers OpenClaw plugins within each project’s ChangesOpenClaw plugin validation
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit 7c5d202 in the TypeScript / code-coverage/cliThe overall coverage in commit 7c5d202 in the Show a code coverage summary of the most impacted files.
Updated |
Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com>
PR Review Advisor — Blocking findings reportedAdvisor assessment: Blockers require maintainer review Model lanes
4 terminology differences from the second opinionAdvisory only. These are normalized differences from the primary terminology receipt.
2 additional E2E selections from the second opinionAdvisory only. The primary lane did not select these E2E jobs or targets.
Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate. E2E guidanceAdvisory only. E2E / PR Gate selects and runs jobs independently. Recommended E2E: None Blockers
|
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 @.github/workflows/managed-images.yaml:
- Around line 595-604: Update the package-path validation around packageRoot to
resolve both the managed node_modules root and packageRoot, then reject any
packageRoot that is not contained within that root before reading the manifest.
Preserve the existing directory, manifest-file, name, and version checks, and
add a test covering an intermediate symlink that escapes node_modules and is
rejected.
🪄 Autofix
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: 0e4d9372-56e2-42bd-bc14-4c9f75853565
📒 Files selected for processing (2)
.github/workflows/managed-images.yamltest/managed-image-publication-workflow.test.ts
Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/managed-image-publication-workflow.test.ts (1)
125-134: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy liftExercise the workflow validator in the symlink regression test.
isStrictChildPathduplicates the realpath containment logic in.github/workflows/managed-images.yaml. Lines 277-278 execute only this test-local copy, so the test can pass while the inline workflow validator regresses. Exercise the exact validation command with the fixture, or extract one shared helper used by both paths. Keep the source-marker assertions as supplementary contract checks.As per path instructions, tests must provide behavioral confidence through the public boundary and must flag copied production algorithms.
Also applies to: 266-283
🤖 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/managed-image-publication-workflow.test.ts` around lines 125 - 134, Update the symlink regression test around isStrictChildPath and the workflow validation assertions so it exercises the exact validator command from managed-images.yaml against the fixture, rather than only the duplicated test-local containment logic. Prefer invoking the workflow’s public validation boundary; otherwise extract and reuse a shared helper for both paths, while retaining the source-marker assertions as supplementary checks.Source: Path instructions
🤖 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/managed-image-publication-workflow.test.ts`:
- Around line 125-134: Update the symlink regression test around
isStrictChildPath and the workflow validation assertions so it exercises the
exact validator command from managed-images.yaml against the fixture, rather
than only the duplicated test-local containment logic. Prefer invoking the
workflow’s public validation boundary; otherwise extract and reuse a shared
helper for both paths, while retaining the source-marker assertions as
supplementary checks.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 215056d5-b6ff-4465-b528-d874f0be9138
📒 Files selected for processing (2)
.github/workflows/managed-images.yamltest/managed-image-publication-workflow.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- .github/workflows/managed-images.yaml
Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com>
|
Release-gate status for exact head
Please hold the currency refresh until #8233 lands. Current |
Summary
Managed-image publication now validates OpenClaw plugin manifests at their installed package paths. The previous guard read each wrapper project's manifest and rejected a valid image after the build completed.
Changes
node_modulesdirectory.Type of Change
Quality Gates
node_modulesroot.Documentation Writer Review
no-docs-neededDGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailablenpx --no-install vitest run test/managed-image-publication-workflow.test.tspassed 16 tests.npm testfor broad runtime/test-harness changes;npm run checkfor repo-wide validation/coverage changes — command/result:npm run docsbuilds without warnings (doc changes only)Signed-off-by: Senthil Ravichandran senthilr@nvidia.com
Summary by CodeRabbit