Draft: testing#5701
Conversation
There was a problem hiding this comment.
🤖 Automated Code Review
Summary
This PR makes two significant infrastructure changes:
- Removes SHA256 pinning from the Isaac Sim Docker image tag in CI configuration
- Disables GPU interop (
fabricUseGPUInterop = false) across all 4 kit configuration files
Findings
🔴 High Severity
1. CI Reproducibility Risk - Floating Docker Image Tag
- File:
.github/workflows/config.yaml - Issue: Changing from a pinned digest (
latest-develop@sha256:0dd49...) to a floating tag (latest-develop) removes build reproducibility guarantees. - Impact: CI builds may fail intermittently when upstream image updates introduce breaking changes. Debugging becomes difficult when builds are not reproducible.
- Suggestion: If this is intentional to pick up latest changes, consider documenting the rationale. For production CI, pinned digests are recommended for stability.
🟠 Medium Severity
2. Performance Impact - Disabling PhysX-Fabric GPU Interop
- Files: All 4
apps/isaaclab.python.*.kitfiles - Issue: Setting
fabricUseGPUInterop = falsedisables direct GPU memory interop between PhysX and Fabric when Direct GPU mode is enabled. - Impact: This may cause:
- Fallback to CPU readback paths, potentially degrading performance
- Behavioral changes in GPU-accelerated simulation workflows
- Suggestion: Please document the reason for this change. If this is to work around a specific bug, consider adding a code comment explaining the context.
3. Missing Context and Documentation
- Issue: The PR description uses the default template without explaining the motivation for these changes.
- Checklist: All items remain unchecked.
- Suggestion: Before marking ready for review, please:
- Describe the problem being solved or the reason for these changes
- Link to any related issues or discussions
- Update changelog if this is intended to be merged
🟡 Low Severity
4. Test Coverage Gap
- Issue: No tests are added to validate the behavior changes from disabling GPU interop.
- Suggestion: Consider adding or referencing performance benchmarks to ensure no regressions.
General Notes
- This is marked as a Draft PR with title "testing" - if this is exploratory work, no action needed on the above.
- If this is intended for merge, the configuration changes would benefit from additional context about the use case or issue being addressed.
This is an automated review. Please feel free to dismiss if this is purely experimental.
Update (commit 7913f4e):
✅ Finding #2 addressed: GPU interop has been re-enabled (fabricUseGPUInterop = true) across all kit files. This reverts the concerning change from the original commit.
Remaining items:
- Finding #1 (CI reproducibility - Docker SHA pinning) was not addressed in this commit
- Documentation/context notes still apply for the overall PR
No new issues introduced in this commit.
Greptile SummaryThis draft PR makes two categories of changes: it unpins the Isaac Sim CI image tag from a SHA digest to the floating
Confidence Score: 2/5Not safe to merge in current form — both changes introduce real regression risk to CI reliability and GPU pipeline correctness. The CI image tag was deliberately pinned with a SHA digest; removing the pin means every workflow run from this point forward could execute against a different image without any signal in the git history. Separately, disabling fabricUseGPUInterop across all kit files conflicts with the inline documentation that calls for it to be true when Direct GPU mode is active, and no issue or rationale is referenced in the PR description. .github/workflows/config.yaml (image pin removed) and all four apps/*.kit files (GPU interop disabled). Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[CI Workflow Starts] --> B[Load config.yaml]
B --> C{Image Tag}
C -- "Before: latest-develop@sha256:..." --> D[Deterministic / Pinned Image]
C -- "After: latest-develop" --> E[Floating Tag - Non-reproducible]
F[Isaac Lab App Launch] --> G{fabricUseGPUInterop}
G -- "Before: true" --> H[Direct PhysX GPU to Fabric Interop]
G -- "After: false" --> I[CPU Roundtrip - Potential perf/state issue]
style E fill:#ffcccc,stroke:#cc0000
style I fill:#ffcccc,stroke:#cc0000
style D fill:#ccffcc,stroke:#006600
style H fill:#ccffcc,stroke:#006600
Reviews (1): Last reviewed commit: "testing" | Re-trigger Greptile |
| # workflow via yq and exposed as job outputs (see e.g. .github/workflows/build.yaml). | ||
| isaacsim_image_name: nvcr.io/nvidian/isaac-sim | ||
| isaacsim_image_tag: latest-develop@sha256:0dd49a1121b297dc85eee7777a9c528318683dbe03b29fd01f2059ac1b099301 | ||
| isaacsim_image_tag: latest-develop |
There was a problem hiding this comment.
Unpinned mutable image tag removes CI reproducibility
The image tag was changed from a SHA-digest-pinned reference (latest-develop@sha256:0dd49a...) to the floating tag latest-develop. Floating tags are mutable — if the upstream nvcr.io/nvidian/isaac-sim:latest-develop image is updated, every subsequent CI run silently picks up the new image without any code change, making failures hard to bisect and test results non-reproducible. The original SHA digest was clearly there to guarantee a stable, immutable build environment.
| ### When Direct GPU mode is enabled (suppressReadback=true) use direct interop between PhysX GPU and Fabric | ||
| fabricUseGPUInterop = true | ||
| fabricUseGPUInterop = false |
There was a problem hiding this comment.
GPU interop disabled while Direct GPU mode is active
The comment directly above this setting reads: "When Direct GPU mode is enabled (suppressReadback=true) use direct interop between PhysX GPU and Fabric." Setting fabricUseGPUInterop = false under that mode breaks the intended PhysX-GPU-to-Fabric data path, forcing an unnecessary CPU roundtrip and potentially causing incorrect state readback in headless pipelines. This same change is applied across all four kit files (isaaclab.python.headless.kit, isaaclab.python.headless.rendering.kit, isaaclab.python.kit, isaaclab.python.rendering.kit). If this is intentional, an explanation or follow-up issue should be referenced.
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there