[Docs] Update environment browser preset combinations - #7493
Conversation
Greptile SummaryThe PR filters
Confidence Score: 4/5The PR appears safe to merge, with the non-blocking concern that most exact task-specific exclusions lack direct regression coverage. The filtering path uses fresh per-environment preset maps and the generated outputs reflect the intended compatibility adjustment; the remaining concern is maintenance coverage for 16 independently named exclusions. Files Needing Attention: tools/test/test_environ_docs.py Important Files Changed
Reviews (1): Last reviewed commit: "[Docs] Update environment browser preset..." | Re-trigger Greptile |
| def test_preset_exclusions_remove_only_runtime_disabled_task_combinations(): | ||
| presets = { | ||
| PresetTarget.PHYSICS: ["isaacsim_physx", "newton_mjwarp"], | ||
| PresetTarget.RENDERER: ["isaacsim_rtx", "newton_renderer"], | ||
| PresetTarget.DOMAIN: ["rgb"], | ||
| } | ||
|
|
||
| excluded = _apply_preset_exclusions("IsaacContrib-Stack-Cube-Franka", presets) | ||
| unchanged = _apply_preset_exclusions("Isaac-Lift-Franka", presets) | ||
|
|
||
| assert excluded == { | ||
| PresetTarget.PHYSICS: ["isaacsim_physx"], | ||
| PresetTarget.RENDERER: ["isaacsim_rtx", "newton_renderer"], | ||
| PresetTarget.DOMAIN: ["rgb"], | ||
| } | ||
| assert unchanged == presets |
There was a problem hiding this comment.
Exclusion list lacks full coverage
The generator relies on 17 independently maintained exact task IDs, but this test exercises only IsaacContrib-Stack-Cube-Franka. A misspelled, removed, or stale entry among the other 16 can re-advertise an unsupported newton_mjwarp command while the regression test continues to pass; parameterize this test over the complete exclusion set.
There was a problem hiding this comment.
Isaac Lab Review Bot
The PR adds a task-scoped newton_mjwarp exclusion list and regenerates the environment catalog so 17 unsupported contrib task/backend combinations are no longer offered by the documentation browser or comprehensive RST listing.
- Design and architecture: The exclusion is centralized in
_apply_preset_exclusionsand applied before all documentation and browser-row derivation, including Warp frontend support detection. The hardcoded Gym IDs are a deliberate maintenance tradeoff: task renames could silently make exclusions stale, but the focused regression coverage and generated-file consistency checks provide reasonable protection. - API: No public runtime API or CLI argument changes. The generated documentation selector surface intentionally changes by removing unsupported
newton_mjwarpchoices, while browser row structure and generation markers remain compatible. No source package changed, so the package changelog requirement does not apply. - Implementation: The 17 exclusions are reflected consistently in both generated artifacts, while
newton_mjwarpremains available for supported sibling tasks such as Blueprint, Visuomotor, and UR10 long-suction variants. The helper returns a copied mapping rather than mutating its input. Grouped curated rows continue to present unioned presets across grouped variants, which is an existing representational tradeoff rather than a regression in the generated per-task browser data.
No blocking issues. No inline issue met the actionable-evidence threshold; the assessment above records the review feedback.
Automated review; human maintainers own approval decisions.
…browser-preset-options # Conflicts: # docs/source/_static/css/environment-browser.js # docs/source/overview/environments.rst # tools/test/test_environ_docs.py
|
run-ci |
…browser-preset-options # Conflicts: # docs/source/_static/css/environment-browser.js
|
run-ci |
|
run-ci |
Backports #7493 to `release/3.0.0`. The original cherry-pick conflicted. An NVIDIA inference model proposed this resolution, and deterministic validation confirmed that it changes no paths outside the original PR. Because conflict resolution cannot be certified as an exact patch replay, this PR is intentionally a draft and requires release-maintainer review. | Field | Commit | |---|---| | Original merged change | `23ef3873f56fd78dab79158f26860502ae23aade` | | Release base used | `1344cfbf4f739d64474a929570e1a9465d0a9aad` | | Proposed backport | `f2b422047519f5c8f65e58ca9bb7c3b79868f208` | --------- Signed-off-by: Kelly Guo <kellyg@nvidia.com> Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com> Co-authored-by: Kelly Guo <kellyg@nvidia.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
…7504) (#7512) # Description Backports #7504 to `release/3.0.0` by cherry-picking the actual merged commit, `541de9a7a91f9e7c24b24b923c0620475a00e051`. The automatic backport stopped during source validation because the documentation hunk from #7504 had already reached `develop` through #7493. GitHub therefore omitted that already-present hunk from #7504's squash commit, while the PR files API still reported the original seven-file change. The validator rejected the resulting six-file squash patch before attempting a cherry-pick. This PR replays those six remaining files exactly. The overlapping documentation change is handled separately by #7508. Failed automation: https://github.com/isaac-sim/IsaacLab/actions/runs/33710984910/job/100510198896 No runtime dependencies are added. ## Type of change - Bug fix (non-breaking change which fixes an issue) ## Release backport - [ ] <!-- backport-active-release --> This PR already targets the active release branch; do not backport it again. ## Validation - `uv run --no-project python -m compileall -q` on all three modified test modules - `uv run --no-project python tools/changelog/cli.py check codex-backport-pr-7504-base` - `uvx --from pre-commit==4.6.2 pre-commit run --all-files` with `check-changelog-fragments` skipped because that hook assumes `origin/develop`; the release-base check above passed - `.github/scripts/backport.py validate-candidate ... --exact_patch` - `git diff --check upstream/release/3.0.0..HEAD` - The simulator-backed CUDA regression remains for Linux GPU CI ## Checklist - [x] I have read and understood the contribution guidelines - [x] I have run the available pre-commit checks - [x] Documentation changes are not needed for this six-file backport - [x] My changes generate no new warnings - [x] The existing mirrored regression tests cover the fix - [x] Each touched package includes its original `.skip` changelog fragment - [x] My name already exists in `CONTRIBUTORS.md`
Description
Updates the registry-backed environment catalog and command generator so preset options reflect combinations that are available end-to-end.
newton_mjwarpfrom the 17 task combinations identified as unavailable by the full OSMO smoke-test matrix.OSMO is the runner that exposed these unsupported combinations; this change does not introduce an OSMO flag or disable a runtime preset. It prevents the documentation browser from advertising combinations that the runtime compatibility results show are unavailable.
Release backport
developType of change
Screenshots
Not applicable; this updates generated environment metadata and command options.
Validation
uv run --frozen python -m pytest --confcutdir=tools/test tools/test/test_environ_docs.py -q(27 passed)node --check docs/source/_static/css/environment-browser.jsuv run --frozen python tools/update_environments_rst.py --checkuv run --frozen isaaclab -fuv run --isolated --extra test -- make -C docs current-docsgit diff --checkChecklist