-
Notifications
You must be signed in to change notification settings - Fork 39
Lab 3.0 (Newton) #464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lab 3.0 (Newton) #464
Changes from all commits
b584e14
6b149b5
7b4dcaf
cc6748f
9943d15
1a99f42
aada941
0464950
6827bc9
f8adcf9
ff9ce74
f49a545
85033d6
46092f1
3245497
b9a1590
4267d48
dda5cf5
962db5e
4cd1089
cab8e99
5adfad0
dee3b56
c8c7ba3
0182399
6c704e7
70d982e
af63a07
5902d6d
311638f
022a621
c2aa4bc
1403d56
593031f
bba559a
0289fa0
98d39be
e47fa73
0e9d5f8
496832b
97d25d7
74bc099
1463c61
4af53bf
2990016
e4c0080
2a27386
5408363
73be733
56578a5
7eb0c86
9e8ef13
636ce4b
c7a20be
1ae721e
7dfbaf8
cb36cd2
e79f0ad
cc82600
64123fb
e3207bd
e30d161
7f0e7c1
533dd25
6b908e5
dc9e4bb
6800e06
31ce203
cd7d42a
0f4d847
ecf3ba6
00bd0b4
90334f4
ea4cf56
dd8599d
630a395
6decc4a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -97,11 +97,11 @@ jobs: | |
| test: | ||
| name: Run tests | ||
| runs-on: [self-hosted, gpu] | ||
| timeout-minutes: 60 | ||
| timeout-minutes: 80 | ||
| needs: [pre_commit] | ||
|
|
||
| container: | ||
| image: nvcr.io/nvstaging/isaac-amr/isaaclab_arena:latest | ||
| image: nvcr.io/nvstaging/isaac-amr/isaaclab_arena:lab3 | ||
| credentials: | ||
| username: $oauthtoken | ||
| password: ${{ env.NGC_API_KEY }} | ||
|
|
@@ -125,12 +125,36 @@ jobs: | |
| /isaac-sim/python.sh -m pip install --no-cache-dir -e . | ||
| [ -e ./submodules/IsaacLab/_isaac_sim ] || ln -s /isaac-sim ./submodules/IsaacLab/_isaac_sim | ||
|
|
||
| # Run the tests (excluding the gr00t related tests) | ||
| - name: Run pytest excluding policy-related tests. First we run all tests without cameras. | ||
| run: /isaac-sim/python.sh -m pytest -sv -m "not with_cameras" isaaclab_arena/tests/ | ||
| # Run the tests. | ||
| # | ||
| # Note(alexmillane): We have to run the tests in a specific way. To achieve a reasonable test speed, | ||
| # we don't close the SimulationApp between tests, where this is possible. We need, however, to restart the | ||
| # SimulationApp between tests that require cameras/rendering and those that don't. To make | ||
| # matters more complicated, since Isaac Sim 6.0, this persistent SimulationApp scheme is also not | ||
| # mixing well with subprocess-spawning tests. We get intermittent hangs if a subprocess-spawning | ||
| # test is run while a persistent SimulationApp is still open. For that reason we also need to | ||
| # separate those test that spawn subprocess. So in the end, we run | ||
| # | ||
| # - All tests not requiring cameras in a shared SimulationApp. | ||
| # - All tests requiring cameras in a shared SimulationApp. | ||
| # - All subprocess-spawning tests (each spawns their own SimulationApp) | ||
| # | ||
| # To restore sanity here is a goal for Isaac Lab Arena v0.3. | ||
|
|
||
| - name: Run in-process tests without cameras | ||
| run: | | ||
| /isaac-sim/python.sh -m pytest -sv -m "not with_cameras and not with_subprocess" \ | ||
| isaaclab_arena/tests/ | ||
|
|
||
| - name: Run in-process tests with cameras. | ||
| run: | | ||
| /isaac-sim/python.sh -m pytest -sv -m "with_cameras and not with_subprocess" \ | ||
| isaaclab_arena/tests/ | ||
|
|
||
| - name: Run pytest excluding policy-related tests. Now we run all tests with cameras. | ||
| run: /isaac-sim/python.sh -m pytest -sv -m with_cameras isaaclab_arena/tests/ | ||
| - name: Run subprocess-spawning tests (before persistent SimApp is created) | ||
| run: | | ||
| /isaac-sim/python.sh -m pytest -sv -m with_subprocess \ | ||
| isaaclab_arena/tests/ | ||
|
|
||
|
|
||
| test_policy: | ||
|
|
@@ -140,10 +164,12 @@ jobs: | |
| needs: [pre_commit] | ||
|
|
||
| container: | ||
| image: nvcr.io/nvstaging/isaac-amr/isaaclab_arena:cuda_gr00t_gn16 | ||
| image: nvcr.io/nvstaging/isaac-amr/isaaclab_arena:lab3_cuda_gr00t_gn16 | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. switch back |
||
| credentials: | ||
| username: $oauthtoken | ||
| password: ${{ env.NGC_API_KEY }} | ||
| env: | ||
| GROOT_DEPS_DIR: /opt/groot_deps | ||
| steps: | ||
| # nvidia-smi | ||
| - *nvidia_smi | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,7 +7,7 @@ name: GitHub Pages | |
|
|
||
| on: | ||
| push: | ||
| branches: [ "main" ] | ||
| branches: [ "main", "feature/isaac_lab_3_newton" ] | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remove this post merge |
||
|
|
||
| # Concurrency control to prevent parallel runs on the same PR | ||
| concurrency: | ||
|
|
@@ -32,7 +32,7 @@ jobs: | |
| timeout-minutes: 30 | ||
|
|
||
| container: | ||
| image: python:3.11-slim | ||
| image: python:3.12-slim | ||
|
|
||
| steps: | ||
| - name: Install git (and tools needed by hooks) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ | |
| set -e | ||
|
|
||
| ISAACLAB_ARENA_IMAGE_NAME='isaaclab_arena' | ||
| TAG_NAME=latest | ||
| TAG_NAME=lab3 | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. revert after merge |
||
| CONTAINER_ID="" | ||
| PUSH_TO_NGC=false | ||
| INSTALL_GROOT="false" | ||
|
|
@@ -18,7 +18,7 @@ while getopts ":t:gn:vn:pn:Rn:hn:" OPTION; do | |
| ;; | ||
| g) | ||
| INSTALL_GROOT="true" | ||
| TAG_NAME='cuda_gr00t_gn16' | ||
| TAG_NAME='lab3_cuda_gr00t_gn16' | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. revert arfter merge |
||
| echo "INSTALL_GROOT is ${INSTALL_GROOT}." | ||
| ;; | ||
| v) | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,15 +1,12 @@ | ||
| #!/bin/bash | ||
| set -e | ||
| DOCKER_IMAGE_NAME='isaaclab_arena' | ||
| DOCKER_VERSION_TAG='latest' | ||
| DOCKER_VERSION_TAG='lab3' | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. revert after merge |
||
|
|
||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||
|
|
||
| WORKDIR="/workspaces/isaaclab_arena" | ||
|
|
||
| # Default OpenXR directory shared with CloudXR runtime (lives in IsaacLab submodule) | ||
| OPENXR_HOST_DIR="./submodules/IsaacLab/openxr" | ||
|
|
||
| # Default mount directory on the host machine for the datasets | ||
| DATASETS_HOST_MOUNT_DIRECTORY="$HOME/datasets" | ||
| # Default mount directory on the host machine for the models | ||
|
|
@@ -50,7 +47,7 @@ while getopts ":d:m:e:hn:rn:Rn:vn:gn:" OPTION; do | |
| ;; | ||
| g) | ||
| INSTALL_GROOT="true" | ||
| DOCKER_VERSION_TAG='cuda_gr00t_gn16' | ||
| DOCKER_VERSION_TAG='cuda_gr00t_gn16_lab3' | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. revert after merge |
||
| ;; | ||
| h) | ||
| script_name=$(basename "$0") | ||
|
|
@@ -140,21 +137,27 @@ else | |
| "-v" "/tmp/.X11-unix:/tmp/.X11-unix:rw" | ||
| "-v" "/var/run/docker.sock:/var/run/docker.sock" | ||
| "-v" "$HOME/.Xauthority:/root/.Xauthority" | ||
| # Mount host SSL certificate store so the container trusts CA certs | ||
| "-v" "/etc/ssl/certs:/etc/ssl/certs:ro" | ||
| "--env" "DISPLAY" | ||
| "--env" "ACCEPT_EULA=Y" | ||
| "--env" "PRIVACY_CONSENT=Y" | ||
| "--env" "DOCKER_RUN_USER_ID=$(id -u)" | ||
| "--env" "DOCKER_RUN_USER_NAME=$(id -un)" | ||
| "--env" "DOCKER_RUN_GROUP_ID=$(id -g)" | ||
| "--env" "DOCKER_RUN_GROUP_NAME=$(id -gn)" | ||
| # Setting envs for XR: https://isaac-sim.github.io/IsaacLab/v2.1.0/source/how-to/cloudxr_teleoperation.html#run-isaac-lab-with-the-cloudxr-runtime | ||
| "--env" "XDG_RUNTIME_DIR=${WORKDIR}/submodules/IsaacLab/openxr/run" | ||
| "--env" "XR_RUNTIME_JSON=${WORKDIR}/submodules/IsaacLab/openxr/share/openxr/1/openxr_cloudxr.json" | ||
| # CloudXR shared volume: TeleopCore's run_cloudxr_via_docker.sh writes runtime | ||
| # files to CXR_HOST_VOLUME_PATH (default ~/.cloudxr) on the host. | ||
| "-v" "${CXR_HOST_VOLUME_PATH:-$HOME/.cloudxr}:/cloudxr" | ||
| "--env" "XR_RUNTIME_JSON=/cloudxr/openxr_cloudxr.json" | ||
| "--env" "NV_CXR_RUNTIME_DIR=/cloudxr/run" | ||
| # NOTE(alexmillane, 2025.07.23): This looks a bit suspect to me. We should be running | ||
| # as a user inside the container, not root. I've left it in for now, but we should | ||
| # remove it, if indeed it's not needed. | ||
| # "--env" "OMNI_KIT_ALLOW_ROOT=1" | ||
| "--env" "ISAACLAB_PATH=${WORKDIR}/submodules/IsaacLab" | ||
| # Tell requests/urllib3 to use the system cert bundle | ||
| "--env" "REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt" | ||
| ) | ||
|
|
||
| # map omniverse auth or config so we have connection to the dev nucleus | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remember to switch this back to
latestpost merge tomain