[Test] Disable Warp autodiff in test suite - #7305
Conversation
There was a problem hiding this comment.
Isaac Lab Review Bot
The change disables Warp backward-code generation from the repo-root pytest configuration before test-module collection and extends the existing ordering regression test to cover that shared setting. The proposed changelog finding does not apply because the trusted repository rule requires package fragments for user-visible changes, while this is test-only infrastructure.
- Design and architecture: The session-wide Warp setting is placed in the shared repo-root conftest, ensuring it is applied before test modules are collected and allowing test-runner consumers such as cache warming to inherit the behavior.
- API: No public Isaac Lab APIs, CLI arguments, configuration fields, exports, or return types are changed. The compatibility surface is limited to pytest execution and Warp kernel generation during tests.
- Implementation: The assignment occurs immediately after importing Warp and before pytest loads test modules. The added regression test resolves the repository root correctly and verifies that the shared conftest contains the expected setting. Its literal-string check is intentionally narrow and may require maintenance if the equivalent assignment is reformatted, but this is not a merge-blocking issue.
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.
Greptile SummaryThis PR disables Warp backward-code generation in the repository-wide pytest configuration before test collection and extends the existing ordering regression coverage.
Confidence Score: 4/5The PR appears safe to merge, with one non-blocking weakness in the new regression test’s ability to detect ordering or executability regressions. The runtime configuration is currently placed before imports that can create Warp modules, and existing tests do not rely on Warp autodiff; only the new guard’s future regression coverage is incomplete. Files Needing Attention: source/isaaclab/test/test_scripts_warp_backward_ordering.py Important Files Changed
Reviews (1): Last reviewed commit: "[Test] Disable Warp autodiff in tests" | Re-trigger Greptile |
| def test_shared_pytest_configuration_disables_warp_backward(): | ||
| contents = (_REPO_ROOT / _TEST_CONFTEST).read_text() | ||
|
|
||
| assert _SETTING in contents, f"{_TEST_CONFTEST} does not set '{_SETTING}'" |
There was a problem hiding this comment.
Substring check misses ordering regressions
This assertion passes when the assignment appears after an import that creates Warp modules or survives only in a comment or string, so the cold-compilation regression can return without this ordering test detecting it. Match an executable assignment and verify its position, as the entry-script checks above do.
## Summary - Disable Warp backward code generation before pytest collection to reduce cold kernel compile times. - Keep lightweight tooling compatible when Warp is not installed. - Run the test matrix when the root pytest configuration changes; the cache warmer uses the same configuration. ## Validation - Warp-free tools tests: 29 passed - `uv run isaaclab -f` (cherry picked from commit 1c9ba90)
…#7303 (#7313) # Description Backports six merged PRs to `release/3.0.0` as separate provenance-preserving cherry-picks: | Source PR | Source commit | Backport commit | Scope | | --- | --- | --- | --- | | #7272 | `0081477fea2` | `c9fc1997476` | Fix scene-wide gravity distributions for PhysX and OvPhysX. | | #7121 | `9f65e3d4fd2` | `cce8acd84e1` | Fix backend-factory fallback before simulator initialization. | | #7183 | `3fcc9c6b824` | `99d58d3d3c4` | Streamline the getting-started documentation. | | #7306 | `6aad90be0ae` | `9a786cc028a` | Optimize Newton test runtime. | | #7305 | `1c9ba908cf1` | `a2dc8ce948e` | Disable Warp autodiff in the test suite. | | #7303 | `393fc37d2b0` | `249a5cb97d8` | Remove post-Hydra preset resolution. | #7272 forwards the validated `uniform`, `log_uniform`, or `gaussian` distribution through both scene-wide backend paths. Newton behavior is unchanged. #7121 makes factory resolution fall back to Newton when no `SimulationContext` exists while retaining the visualizer contract of reporting no active backend before context creation. #7183 is documentation-only. #7306 and #7305 change test infrastructure only; they do not change runtime behavior. #7303 makes `resolve_task_config` and `parse_env_cfg` the task-composition boundary. Runtime consumers now require concrete physics, renderer, and camera configurations and no longer attempt late preset fallback after Hydra composition. The branch was synchronized with the current `release/3.0.0` tip containing #7301 before #7303 was applied. All six source cherry-picks applied without conflicts. A file-by-file existence, mode, and blob audit confirmed that every #7303 path matches its merged source commit exactly. ## Validation ### #7272 - Regression verification against the unpatched `release/3.0.0` tip — both PhysX and OvPhysX cases failed as expected. - `uv run --extra test --frozen python -m pytest -q source/isaaclab/test/envs/test_gravity_randomization.py source/isaaclab/test/envs/test_mdp_event_selectors.py` — 7 passed. - `uv run --extra test --extra ovphysx --frozen python -m pytest -q source/isaaclab_ov/test/physics/test_ovphysx_gravity.py` — 1 passed. ### #7121 - Regression verification before the #7121 cherry-pick reproduced the original `NoneType.physics_manager` failure. - `uv run --extra test --frozen python -m pytest -q source/isaaclab/test/utils/test_backend_utils.py source/isaaclab/test/visualizers/test_visualizer.py` — 18 passed. ### #7183 - `uv run --frozen --extra test python -m pytest --noconftest -q tools/test/test_environ_docs.py` — 26 passed. ### #7306 - All 9 affected paths match the merged source PR exactly. - The full simulator-backed Newton suite is left to backport CI because this local worktree does not include the full Isaac Sim runtime. ### #7305 - Loaded the root `conftest.py` successfully with Warp unavailable. - Loaded it with Warp installed and confirmed `wp.config.enable_backward is False`. ### #7303 - Hydra and Shadow Hand camera suites — 129 passed. - Benchmark capture and RL entrypoint suites — 31 passed. - Experimental frontend and custom-coupling suites — 74 passed, 1 skipped. - Ruff and Ruff-format passed for every changed Python path. - Source/backport audit — 54 paths checked, 0 mismatches. - The Isaac Sim-backed integration case is left to CI because this local worktree is kitless. ### Repository gates - `git diff --check upstream/release/3.0.0...HEAD` — passed. --------- Signed-off-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: Antoine RICHARD <antoiner@nvidia.com> Co-authored-by: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Co-authored-by: Mustafa H <34825877+StafaH@users.noreply.github.com>
Summary
Validation
uv run isaaclab -f