Skip to content

[Validation] Test OVRTX 0.4.1 with OVPhysX 0.5.10 - #7143

Closed
nvsekkin wants to merge 7 commits into
isaac-sim:developfrom
nvsekkin:esekkin/ovrtx-041-wiht-ovphysx-0510
Closed

[Validation] Test OVRTX 0.4.1 with OVPhysX 0.5.10#7143
nvsekkin wants to merge 7 commits into
isaac-sim:developfrom
nvsekkin:esekkin/ovrtx-041-wiht-ovphysx-0510

Conversation

@nvsekkin

@nvsekkin nvsekkin commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Description

Validation-only PR; do not merge.
Combines #7108 with the dependency pins from #7140 and temporarily enables the OVStage kitless pull-request lane.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (existing functionality will not work without user modification)
  • Documentation update

Screenshots

Please attach before and after screenshots of the change if applicable.

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have added a changelog fragment under source/<pkg>/changelog.d/ for every touched package (do not edit CHANGELOG.rst or bump extension.toml — CI handles that)
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

AntoineRichard and others added 7 commits August 17, 2026 18:22
OvPhysX 0.5.10 requires ovstage 0.1.1.355824, so the two move together:
bumping ovphysx alone leaves the environment unresolvable.

The code change this depends on is already on develop. OvPhysX reads
sealed data only, so attaching at an unsealed ordinal silently yields an
empty scene, which surfaced as a null joint-friction buffer during
articulation setup. `advance_write_floor` in the OvPhysX manager commits
the ordinal first.

Verified locally on a clean environment: Isaac-Velocity-Flat-AnymalD with
physics=ovphysx trains, which is the articulation path that failed before
the fix. That is a smoke test rather than a soak.
Use the public OVRTX release, enable synchronous texture streaming, and
retire rendering exemptions fixed by the updated runtime.
Remove obsolete compatibility paths and align renderer configuration, license handling, and documentation with the required runtime.
Keep release validation on the exact public OVRTX build instead of admitting unverified 0.4.x updates.
@nvsekkin
nvsekkin requested a review from a team August 17, 2026 23:50
@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team infrastructure labels Aug 17, 2026
@nvsekkin
nvsekkin marked this pull request as draft August 17, 2026 23:52
@nvsekkin nvsekkin changed the title Draft: ovrtx-0.4.1 wiht ovphysx-0.5.10 [Validation] Test OVRTX 0.4.1 with OVPhysX 0.5.10 Aug 17, 2026

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isaac Lab Review Bot

The OV runtime pin updates, public-PyPI routing, renderer configuration changes, particle-path cleanup, documentation, lock file, and license alias handling are internally consistent. One CI change should be corrected before merge: the OVStage rendering job is now enabled for every pull request rather than remaining post-merge-only validation.

  • Design and architecture: The exact OVRTX pin supports passing the 0.4.1 renderer options directly and removing the older compatibility workaround. The material concern is CI architecture: enabling another 120-minute self-hosted GPU rendering matrix for all pull requests creates a permanent repository-wide validation cost for what the comment describes as validation-branch coverage.
  • API: The OV runtime versions are consistently mirrored across the version table, extras, package metadata, lock file, installation documentation, error guidance, and version-consistency tests. No public API compatibility issue was identified.
  • Implementation: The renderer construction and particle update paths, rendering test changes, golden-image integration, and license-check alias logic were traced without another actionable issue. Restore or appropriately scope the OVStage workflow condition so this temporary pin-validation job does not run its PR matrix on every future pull request.

Minor fixes needed. Posted 1 actionable finding inline.

Automated review; human maintainers own approval decisions.

if: >-
github.event_name != 'pull_request' &&
needs.build.result == 'success'
if: needs.build.result == 'success'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Warning · Implementation — OVStage rendering job now runs on every PR

The removed github.event_name != 'pull_request' guard kept this 120-minute self-hosted GPU job post-merge only, and the added comment labels it a "Validation branch" change to exercise the new pins. As written, every pull request permanently gains a second full kitless rendering matrix, and the test-node-ids-file/test-node-ids-key inputs still apply only on push, so PR runs execute the uncurated matrix. Restore the post-merge condition before merging.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the intention - test pr

@greptile-apps

greptile-apps Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the coordinated OVRTX, OvPhysX, and OVStage runtime pins and adjusts renderer behavior and rendering validation for the new releases.

  • Moves OVRTX resolution to public PyPI and synchronizes manifests, lock data, documentation, and license exceptions.
  • Enables synchronous texture streaming and removes the legacy particle initialization workaround.
  • Updates rendering expectations, golden images, tolerances, and pull-request OVStage coverage.

Confidence Score: 5/5

The PR appears safe to merge because no concrete blocking or independently actionable non-blocking defect was established.

The dependency pins, renderer configuration, documentation, lock data, and rendering validation changes are internally coordinated, and the investigated installation, particle-update, and workflow-exposure concerns lacked a reachable demonstrated failure.

Important Files Changed

Filename Overview
pyproject.toml Coordinates exact public-PyPI pins for OVRTX 0.4.1.364340, OvPhysX 0.5.10, and OVStage 0.1.1.355824.
uv.lock Regenerates package metadata and artifacts for the coordinated runtime versions, including OVRTX's public-PyPI sdist.
source/isaaclab_ov/isaaclab_ov/renderers/ovrtx_renderer.py Enables supported OVRTX 0.4.1 configuration options and switches legacy particle updates to first-frame GPU ASYNC writes.
source/isaaclab_tasks/test/rendering_test_utils.py Removes resolved OVRTX expected failures and applies tighter image-difference thresholds to non-depth OVRTX outputs.
.github/workflows/build.yaml Enables the OVStage rendering-correctness job for pull requests after a successful build.
.github/workflows/license-check.yaml Extends proprietary-license exception matching to support explicitly configured aliases.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
    Pins[pyproject runtime pins] --> Lock[uv.lock]
    Lock --> Runtime[OVRTX / OvPhysX / OVStage runtime]
    Runtime --> Renderer[OVRTXRenderer configuration]
    Renderer --> Outputs[Rendered camera outputs]
    Outputs --> Golden[Golden-image validation]
    Golden --> CI[OVStage pull-request CI job]
Loading

Reviews (1): Last reviewed commit: "style: Align OVStage validation comment" | Re-trigger Greptile

@nvsekkin nvsekkin mentioned this pull request Aug 18, 2026
7 tasks
@nvsekkin nvsekkin closed this Aug 18, 2026
nvsekkin added a commit that referenced this pull request Aug 18, 2026
## Summary

- Updates OvPhysX to `0.5.10` and OVStage to `0.1.1.355824` while
retaining OVRTX `0.4.1.364340`.
- Adds the OVStage proprietary-license alias and regenerates `uv.lock`.
- Supersedes #7140; thanks to @AntoineRichard for the original
dependency work. #7143 remains validation-only evidence and will not be
merged.

## Validation

- Resolved and imported the exact OvPhysX, OVStage, and OVRTX versions.
- Focused dependency, renderer, runtime, and OvPhysX environment tests:
105 passed.
- Six-file legacy rendering sweep: 36 passed, 36 intentional
unsupported-preset skips, no retries, and no golden changes.
- Focused OVStage rendering sweep: 36 passed, 36 intentional skips, no
retries, and no golden changes.
- Lockfile, changelog, pre-commit, and diff checks passed.

## Type of change

- Dependency update

## Checklist

- [x] I have read and understood the [contribution
guidelines](https://isaac-sim.github.io/IsaacLab/main/source/refs/contributing.html)
- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [x] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added a changelog fragment under
`source/<pkg>/changelog.d/` for every touched package (do **not** edit
`CHANGELOG.rst` or bump `extension.toml` — CI handles that)
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants