fix(e2e): carry managed image revision to Jetson - #10072
Conversation
Signed-off-by: San Dang <sdang@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. |
|
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 (10)
Included review availability: Your plan provides up to 12 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughJetson dispatch advances to contract ChangesJetson dispatch contract and workflow
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to The PR carries the selected managed-image revision separately from the candidate revision to prevent incorrect Jetson image lookups. No actionable merge-blocking risk remains beyond normal checks and review. Sequence Diagram(s)sequenceDiagram
participant BaseImagePublication
participant GitHubActionsWorkflow
participant JetsonDispatchClient
participant JetsonDispatchContract
participant JetsonService
BaseImagePublication->>GitHubActionsWorkflow: publish managed_image_revision
GitHubActionsWorkflow->>JetsonDispatchClient: provide candidate and managed-image revisions
JetsonDispatchClient->>JetsonDispatchContract: build and validate V2 request
JetsonDispatchClient->>JetsonService: submit schema-version 2 request
JetsonService-->>JetsonDispatchClient: return schema-matched status and artifact
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
PR Review Advisor — Blocking findings reportedAdvisor assessment: Blockers require maintainer review E2E guidanceAdvisory only. A maintainer can dispatch the default E2E suite for the commit under review. Recommended E2E: None Manual-only E2E: Blockers
|
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
cv
left a comment
There was a problem hiding this comment.
Reviewed the full Jetson dispatch contract, workflow boundary, compatibility vectors, operator guide, and tests. I fixed the reused-publication path so it sends the pinned managed-image revision instead of the candidate commit. The v2 request now keeps candidate checkout identity separate from managed-image lookup identity, validates both commits, and binds both into the job ID. Focused validation passed: 95 E2E-support tests, semantic E2E phase coverage, normal commit hooks, and the pre-push CLI type-check. No unresolved correctness, security, product-scope, documentation, or test finding remains. Current GitHub check failures are caused by the GitHub installation API rate limit (HTTP 403), not this change.
Summary
Jetson dispatch used the candidate commit for managed-image lookup even when the publication gate selected an earlier first-parent commit, causing a GHCR manifest 404. Carry the selected publication commit through a versioned dispatcher request and keep candidate identity separate in the live test.
This PR is draft until the operator-owned backend accepts contract 2.0.0 and the live Jetson target passes.
Related Issue
Related to #8142. Fixes the Jetson regression exposed after #10031.
Changes
managedImageRevision; retain contract 1.0.0 parsing for the coordinated backend rollout.The versioned compatibility path is required because the operator-owned receiver may still return contract 1.0.0 jobs during rollout. Editing v1 directly would break its immutable cross-repository boundary; the v1 and v2 static-vector tests protect both contracts.
Type of Change
Quality Gates
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 unavailablenpx vitest run --project e2e-support test/e2e/support/jetson-dispatch-client.test.ts test/e2e/support/jetson-workflow-boundary.test.ts test/e2e/support/base-image-publication-workflow-boundary.test.ts(95 passed);npm run test:e2e-phases:check;npm run typecheck:cli;npm run checks:repositorynpm run docsbuilds without warnings (doc changes only) — Not applicable; the owning E2E operator guide changed with code and passed Markdown lint.Signed-off-by: San Dang sdang@nvidia.com
Summary by CodeRabbit
New Features
Documentation
Tests