From fba6da075053761cfc641afc05c020f07089bbf2 Mon Sep 17 00:00:00 2001 From: Kelly Guo Date: Mon, 5 Oct 2026 22:20:54 -0700 Subject: [PATCH 1/4] Enable OV runtime in release base Docker image --- docker/Dockerfile.base | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile.base b/docker/Dockerfile.base index 8ccabd90b3cd..255ada8f4797 100644 --- a/docker/Dockerfile.base +++ b/docker/Dockerfile.base @@ -133,7 +133,7 @@ COPY --parents ../source/*/pyproject.toml ${ISAACLAB_PATH}/ # The image's package set. Kit ships in the base image, so the teleop stack comes without the # ``isaacsim`` wheel; ``teleop`` itself is left exactly as tuned. -ARG IMAGE_EXTRAS="--extra sb3 --extra skrl --extra rl-games --extra rsl-rl --extra viser --extra rerun --extra mimic --extra teleop --extra test --extra tetrahedralization" +ARG IMAGE_EXTRAS="--extra sb3 --extra skrl --extra rl-games --extra rsl-rl --extra viser --extra rerun --extra mimic --extra teleop --extra test --extra tetrahedralization --extra ov" RUN --mount=type=cache,target=/root/.cache/uv \ From bdf604624649e08e7e8bfd4b1bbc21cf9eb75192 Mon Sep 17 00:00:00 2001 From: Octi Zhang Date: Mon, 5 Oct 2026 23:27:07 -0700 Subject: [PATCH 2/4] Sync install CI Newton override with PyPI release --- source/isaaclab/changelog.d/fix-pr8321-install-ci-override.skip | 0 source/isaaclab/test/install_ci/uv_pip/uv-overrides.txt | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 source/isaaclab/changelog.d/fix-pr8321-install-ci-override.skip diff --git a/source/isaaclab/changelog.d/fix-pr8321-install-ci-override.skip b/source/isaaclab/changelog.d/fix-pr8321-install-ci-override.skip new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/source/isaaclab/test/install_ci/uv_pip/uv-overrides.txt b/source/isaaclab/test/install_ci/uv_pip/uv-overrides.txt index bcd9c01011f2..7742daa5b238 100644 --- a/source/isaaclab/test/install_ci/uv_pip/uv-overrides.txt +++ b/source/isaaclab/test/install_ci/uv_pip/uv-overrides.txt @@ -1,7 +1,7 @@ numpy>=2 mujoco~=3.12.0 mujoco-warp~=3.12.0 -newton[sim] @ git+https://github.com/newton-physics/newton.git@release-1.6 +newton[sim]==1.6.1 newton-usd-schemas>=0.5.0 usd-exchange==3.0.0 usd-optimize~=1.3.0 From d5d4b0ae2900b567058a3528865da93974c01a2e Mon Sep 17 00:00:00 2001 From: Octi Zhang Date: Tue, 6 Oct 2026 00:04:30 -0700 Subject: [PATCH 3/4] Read Newton pin in wheel install smoke test --- ...st_uv_pip_install_isaaclab_all_trains_cartpole.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py b/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py index 379a364471d8..746c2c8b263d 100644 --- a/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py +++ b/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py @@ -14,7 +14,7 @@ (per docs/source/setup/installation/index.rst; reinstall after the wheel install to select the CUDA build.) - (aarch64 only) export LD_PRELOAD=/lib/aarch64-linux-gnu/libgomp.so.1 Tests: - - python -c "import importlib.metadata as m; assert m.version('newton') == '1.6.0'" + - python -c "import importlib.metadata as m; assert m.version('newton') == '1.6.1'" -> verify the wheel resolves the pinned Newton release - uv run isaaclab train --rl_library rsl_rl --task Isaac-Cartpole-Direct --num_envs 16 presets=newton_mjwarp --max_iterations 5; uv run isaaclab train --rl_library rsl_rl @@ -27,6 +27,7 @@ import shutil import pytest +import tomllib from utils import UV_Mixin, cuda_torch_index_url, pinned_torch_specs @@ -65,8 +66,15 @@ def test_uv_pip_install_isaaclab_all_trains_cartpole(self, isaaclab_root, wheel, ) assert result.returncode == 0, f"uv pip install {wheel}[all] failed:\n{result.stdout}\n{result.stderr}" + with (isaaclab_root / "pyproject.toml").open("rb") as file: + newton_version = tomllib.load(file)["tool"]["isaaclab"]["versions"]["newton"] result = self.run_in_uv_env( - ["python", "-c", "import importlib.metadata as m; assert m.version('newton') == '1.6.1rc1'"], + [ + "python", + "-c", + f"import importlib.metadata as m; actual = m.version('newton'); " + f"assert actual == {newton_version!r}, actual", + ], cwd=isaaclab_root, ) assert result.returncode == 0, ( From c02b324628a08c91acdf02b41a58d81a2d241f21 Mon Sep 17 00:00:00 2001 From: Octi Zhang Date: Tue, 6 Oct 2026 00:07:57 -0700 Subject: [PATCH 4/4] Delay TOML import until wheel install test runs --- .../uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py b/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py index 746c2c8b263d..5763cf82a471 100644 --- a/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py +++ b/source/isaaclab/test/install_ci/uv_pip/test_uv_pip_install_isaaclab_all_trains_cartpole.py @@ -27,7 +27,6 @@ import shutil import pytest -import tomllib from utils import UV_Mixin, cuda_torch_index_url, pinned_torch_specs @@ -48,6 +47,8 @@ def setup_class(cls): @pytest.mark.timeout(4800) def test_uv_pip_install_isaaclab_all_trains_cartpole(self, isaaclab_root, wheel, cartpole_smoke_script): """Install the runner-supplied wheel with ``[all]`` via ``uv pip``, then train.""" + import tomllib # Host collection can use Python 3.10; this test runs in Python 3.12. + try: self.create_uv_env(isaaclab_root)