Skip to content

Pin OVRTX below 0.4 in CI#6620

Closed
kellyguo11 wants to merge 2 commits into
isaac-sim:developfrom
kellyguo11:pin-ovrtx-0.4
Closed

Pin OVRTX below 0.4 in CI#6620
kellyguo11 wants to merge 2 commits into
isaac-sim:developfrom
kellyguo11:pin-ovrtx-0.4

Conversation

@kellyguo11

Copy link
Copy Markdown
Contributor

Summary

  • constrain every Docker CI install of ovrtx to >=0.3.0,<0.4.0
  • verify CI's OVRTX package specs remain synchronized with [tool.isaaclab.versions]
  • add the required CI-only changelog fragment

Root cause

The OVRTX constraint was defined in the root rtx extra, but the affected Docker test jobs installed a bare ovrtx through the generic extra-pip-packages input. Because that later pip command did not activate the extra or otherwise carry the constraint, pip selected OVRTX 0.4.

Impact

CI now resolves a compatible OVRTX 0.3 release in the ARM, isaaclab_ov, and kitless rendering jobs. The regression assertion prevents future CI package strings from bypassing or drifting from the central version range.

Validation

  • .\isaaclab.bat -f
  • .\isaaclab.bat -p -m pytest source/isaaclab/test/cli/test_uv_run_pyproject.py -q (6 passed)

@github-actions github-actions Bot added isaac-lab Related to Isaac Lab team infrastructure labels Jul 20, 2026
@AntoineRichard
AntoineRichard marked this pull request as ready for review July 20, 2026 15:29
@AntoineRichard
AntoineRichard requested a review from a team July 20, 2026 15:29
@greptile-apps

greptile-apps Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR pins ovrtx to >=0.3.0,<0.4.0 in all three Docker CI job inputs that previously installed a bare, unconstrained ovrtx, preventing pip from resolving the incompatible 0.4 release. A new regression test is added that reads build.yaml at test time and asserts every extra-pip-packages line containing ovrtx carries the centrally-defined version range from [tool.isaaclab.versions].

  • build.yaml: Three extra-pip-packages call sites updated (ARM, isaaclab_ov, and kitless rendering jobs); both branches of each ternary expression now carry the constrained spec.
  • test_uv_run_pyproject.py: New assertion added to test_version_single_source_matches_literal_pins that parses the workflow file and fails if any ovrtx install line drifts from the central version table.
  • changelog.d/pin-ovrtx-0.4.skip: CI-only towncrier skip fragment added per project convention.

Confidence Score: 5/5

Safe to merge — the change is a targeted CI pin with a companion regression test that prevents future drift.

All three affected extra-pip-packages call sites are updated consistently, including both branches of each ternary expression. The new test assertion directly validates synchronization between the workflow file and the central version table at every test run, so any future regression will be caught immediately. The changelog fragment follows project conventions.

No files require special attention.

Important Files Changed

Filename Overview
.github/workflows/build.yaml Three extra-pip-packages call sites updated to constrain ovrtx to >=0.3.0,<0.4.0; both branches of ternary expressions carry the constraint consistently.
source/isaaclab/test/cli/test_uv_run_pyproject.py New regression assertion reads build.yaml at test time and verifies every ovrtx install line in extra-pip-packages carries the version range from the central versions table; logic is sound.
source/isaaclab/changelog.d/pin-ovrtx-0.4.skip CI-only towncrier skip fragment; content matches the change accurately.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[CI Job triggers Docker test] --> B{extra-pip-packages input}
    B --> C[ARM CI job\novrtx>=0.3.0,<0.4.0 ovphysx==0.4.13]
    B --> D{USE_OVPHYSX_WHEELHOUSE?}
    D -->|true| E[isaaclab_ov / kitless jobs\novrtx>=0.3.0,<0.4.0]
    D -->|false| F[isaaclab_ov / kitless jobs\novrtx>=0.3.0,<0.4.0 ovphysx]
    C --> G[pip resolves OVRTX 0.3.x]
    E --> G
    F --> G
    G --> H[Tests run with compatible OVRTX]

    I[test_version_single_source_matches_literal_pins] --> J[Read pyproject.toml\ntool.isaaclab.versions.ovrtx]
    I --> K[Read .github/workflows/build.yaml]
    K --> L[Filter lines: extra-pip-packages + ovrtx]
    L --> M{All lines carry\novrtx>=0.3.0,<0.4.0?}
    M -->|yes| N[Test passes]
    M -->|no| O[Test fails - drift detected]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[CI Job triggers Docker test] --> B{extra-pip-packages input}
    B --> C[ARM CI job\novrtx>=0.3.0,<0.4.0 ovphysx==0.4.13]
    B --> D{USE_OVPHYSX_WHEELHOUSE?}
    D -->|true| E[isaaclab_ov / kitless jobs\novrtx>=0.3.0,<0.4.0]
    D -->|false| F[isaaclab_ov / kitless jobs\novrtx>=0.3.0,<0.4.0 ovphysx]
    C --> G[pip resolves OVRTX 0.3.x]
    E --> G
    F --> G
    G --> H[Tests run with compatible OVRTX]

    I[test_version_single_source_matches_literal_pins] --> J[Read pyproject.toml\ntool.isaaclab.versions.ovrtx]
    I --> K[Read .github/workflows/build.yaml]
    K --> L[Filter lines: extra-pip-packages + ovrtx]
    L --> M{All lines carry\novrtx>=0.3.0,<0.4.0?}
    M -->|yes| N[Test passes]
    M -->|no| O[Test fails - drift detected]
Loading

Reviews (1): Last reviewed commit: "Pins ovrtx for CI to be <0.4" | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infrastructure isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants