ci: remove node-tar image scans - #8628
Conversation
📝 WalkthroughWalkthroughThe change removes node-tar image scanning, inventory generation, workflow enforcement, and related staging. Final-image checks, npm remediation validation, tests, and security documentation are updated to reflect the new validation flow. ChangesNode-tar scanning removal
Estimated code review effort: 3 (Moderate) | ~25 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 |
|
🌿 Preview your docs: https://nvidia-preview-pr-8628.docs.buildwithfern.com/nemoclaw |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/lib/onboard/dockerfile-remote-dashboard-bind-contract.ts (1)
59-59: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winAdd normalized digest contract coverage.
a619aead6cdf253dc7bf4504267e6b1d724fed672597072394b7400c08f81fd0matches the normalized instruction atDockerfile:1860; keep the digest unchanged. Add tests forhasRemoteDashboardBindGenerationContract()that accept the canonical instruction and reject it with an appended rewrite command.🤖 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 `@src/lib/onboard/dockerfile-remote-dashboard-bind-contract.ts` at line 59, Keep the digest in the Dockerfile bind contract unchanged, and add coverage for hasRemoteDashboardBindGenerationContract() using the canonical normalized instruction. Verify the contract is accepted as-is and rejected when an appended rewrite command is present.Source: Learnings
🤖 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 `@src/lib/onboard/dockerfile-remote-dashboard-bind-contract.ts`:
- Line 59: Keep the digest in the Dockerfile bind contract unchanged, and add
coverage for hasRemoteDashboardBindGenerationContract() using the canonical
normalized instruction. Verify the contract is accepted as-is and rejected when
an appended rewrite command is present.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 9dd5fa84-572d-4f7a-86cc-abba1acae130
📒 Files selected for processing (24)
.github/workflows/base-image.yaml.github/workflows/managed-images.yaml.github/workflows/sandbox-images-and-e2e.yamlDockerfileDockerfile.baseagents/hermes/Dockerfileagents/hermes/Dockerfile.baseagents/langchain-deepagents-code/Dockerfileagents/langchain-deepagents-code/Dockerfile.basedocs/security/sandbox-base-2026-07-25-dependency-review.mdscripts/checks/node-tar-image-scan.mtssrc/lib/onboard/dockerfile-remote-dashboard-bind-contract.tssrc/lib/sandbox-base-image/source-identity.test.tssrc/lib/sandbox-base-image/source-identity.tssrc/lib/sandbox/build-context.tstest/dashboard-remote-bind-lifecycle.test.tstest/e2e/support/sandbox-images-workflow-boundary.test.tstest/hermes-final-image-layout.test.tstest/managed-image-publication-workflow.test.tstest/node-tar-dockerfile-contract.test.tstest/node-tar-image-scan.test.tstest/openclaw-final-image-layout.test.tstest/sandbox-build-context.test.tstools/e2e/sandbox-images-workflow-boundary.mts
💤 Files with no reviewable changes (13)
- .github/workflows/base-image.yaml
- agents/langchain-deepagents-code/Dockerfile.base
- Dockerfile.base
- test/managed-image-publication-workflow.test.ts
- src/lib/sandbox-base-image/source-identity.ts
- scripts/checks/node-tar-image-scan.mts
- .github/workflows/sandbox-images-and-e2e.yaml
- src/lib/sandbox-base-image/source-identity.test.ts
- test/openclaw-final-image-layout.test.ts
- .github/workflows/managed-images.yaml
- src/lib/sandbox/build-context.ts
- test/sandbox-build-context.test.ts
- test/node-tar-image-scan.test.ts
PR Review Advisor — No blocking findings reportedAdvisor assessment: No blocking advisor findings reported Model lanes
Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests. 3 semantic terminology decisionsTerminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.
E2E guidanceAdvisory only. A maintainer can dispatch the default E2E suite against this exact revision. Recommended E2E: 1 warning · 0 suggestionsWarningsWarnings do not block.
|
Summary
Removes final-image node-tar scans and retained inventory artifacts that fail after the OpenClaw image defaults to the
sandboxuser. Existing bundled npm tar pins and remediation remain in each image.Changes
Type of Change
Quality Gates
Documentation Writer Review
docs-updateddocs/security/sandbox-base-2026-07-25-dependency-review.md. The documented removal matches the Dockerfiles, image workflows, and contract tests. Final-image npm remediation remains for OpenClaw, Hermes, and LangChain Deep Agents Code.DGX 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 unavailablenpm run typecheck:cli,npm run checks:repository, andnpm run docspassed.npm testfor broad runtime/test-harness changes;npm run checkfor repo-wide validation/coverage changes — command/result: The pre-commit stage passed. The local manual full-coverage stage did not finish and was stopped at maintainer direction. GitHub CI owns the broad result.npm run docsbuilds without warnings (doc changes only)Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit
Bug Fixes
Refactor
Documentation
Tests