Skip to content

Commit a034e6c

Browse files
committed
Skip licence check.
1 parent fd7a022 commit a034e6c

File tree

2 files changed

+232
-1
lines changed

2 files changed

+232
-1
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939

4040
env:
4141
# We're getting issues with the markers on the checked out files.
42-
SKIP: check-executables-have-shebangs
42+
SKIP: check-executables-have-shebangs,insert-license
4343

4444
steps:
4545
- &install_git_step

.github/workflows/ci_new.yml

Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
# Copyright (c) 2025-2026, The Isaac Lab Arena Project Developers (https://github.com/isaac-sim/IsaacLab-Arena/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
name: IsaacLab Arena CI
7+
8+
on:
9+
pull_request:
10+
push:
11+
branches: [ "main" ]
12+
13+
# Concurrency control to prevent parallel runs on the same PR
14+
concurrency:
15+
group: ${{ github.workflow }}-${{ github.ref }}
16+
cancel-in-progress: true
17+
18+
permissions:
19+
contents: read
20+
pull-requests: write
21+
checks: write
22+
issues: read
23+
24+
env:
25+
NGC_API_KEY: ${{ secrets.ARENA_NGC_API_KEY }}
26+
OMNI_PASS: ${{ secrets.OMNI_PASS }}
27+
OMNI_USER: ${{ secrets.OMNI_USER }}
28+
29+
30+
jobs:
31+
32+
pre_commit:
33+
name: Pre-commit
34+
runs-on: [self-hosted, gpu]
35+
timeout-minutes: 30
36+
37+
container:
38+
image: python:3.11-slim
39+
40+
env:
41+
# We're getting issues with the markers on the checked out files.
42+
SKIP: check-executables-have-shebangs
43+
44+
steps:
45+
- &install_git_step
46+
name: Install git (and tools needed by hooks)
47+
run: |
48+
apt-get update
49+
apt-get install -y --no-install-recommends git git-lfs clang-format ca-certificates make
50+
git --version
51+
git lfs version
52+
53+
# Clean up residual stuff due to symlinks in the submodules directory
54+
# We do this prior to checkout because the symlink causes issues if it's there from a previous run.
55+
- &cleanup_step
56+
name: Clean up symlinks in submodules directory
57+
run: |
58+
rm -f .git/modules/submodules/IsaacLab/index.lock || true
59+
rm -rf submodules/* || true
60+
61+
# Fix "detected dubious ownership in repository" inside containers
62+
- &mark_repo_safe_step
63+
name: Mark repo as safe for git
64+
run: git config --global --add safe.directory "$PWD"
65+
66+
# Checkout Code
67+
- &checkout_step
68+
name: Checkout Code
69+
uses: actions/checkout@v4
70+
with:
71+
submodules: true
72+
# LFS checkout here somehow causes issues when LFS stuff changes over time.
73+
# So I do LFS manually in a step after.
74+
# lfs: true
75+
76+
# Pull LFS files explicitly (in case checkout didn't get them all)
77+
- &git_lfs_step
78+
name: Git LFS
79+
run: |
80+
git lfs update --force
81+
git lfs install --local
82+
git lfs pull
83+
84+
- name: git status
85+
run: |
86+
git status
87+
88+
- name: Run pre-commit
89+
uses: pre-commit/action@v3.0.1
90+
with:
91+
extra_args: --all-files --verbose
92+
93+
test:
94+
name: Run tests
95+
runs-on: [self-hosted, gpu]
96+
timeout-minutes: 60
97+
needs: [pre_commit]
98+
99+
container:
100+
image: nvcr.io/nvstaging/isaac-amr/isaaclab_arena:latest
101+
credentials:
102+
username: $oauthtoken
103+
password: ${{ env.NGC_API_KEY }}
104+
105+
steps:
106+
# nvidia-smi
107+
- &nvidia_smi
108+
name: nvidia-smi
109+
run: nvidia-smi
110+
111+
# Setup
112+
- *install_git_step
113+
- *cleanup_step
114+
- *mark_repo_safe_step
115+
- *checkout_step
116+
- *git_lfs_step
117+
118+
- &install_project_step
119+
name: Install project and link isaac-sim
120+
run: |
121+
pip install --no-cache-dir -e .
122+
[ -e ./submodules/IsaacLab/_isaac_sim ] || ln -s /isaac-sim ./submodules/IsaacLab/_isaac_sim
123+
124+
# Run the tests (excluding the gr00t related tests)
125+
- name: Run pytest excluding policy-related tests. First we run all tests without cameras.
126+
run: /isaac-sim/python.sh -m pytest -sv -m "not with_cameras" isaaclab_arena/tests/
127+
128+
- name: Run pytest excluding policy-related tests. Now we run all tests with cameras.
129+
run: /isaac-sim/python.sh -m pytest -sv -m with_cameras isaaclab_arena/tests/
130+
131+
132+
test_policy:
133+
name: Run policy-related tests with GR00T & cuda12_8 deps
134+
runs-on: [self-hosted, gpu]
135+
timeout-minutes: 60
136+
needs: [pre_commit]
137+
138+
container:
139+
image: nvcr.io/nvstaging/isaac-amr/isaaclab_arena:cuda_gr00t_gn16
140+
credentials:
141+
username: $oauthtoken
142+
password: ${{ env.NGC_API_KEY }}
143+
steps:
144+
# nvidia-smi
145+
- *nvidia_smi
146+
147+
# Setup.
148+
- *install_git_step
149+
- *cleanup_step
150+
- *mark_repo_safe_step
151+
- *checkout_step
152+
- *git_lfs_step
153+
- *install_project_step
154+
155+
# Run the policy (GR00T) related tests.
156+
- name: Run policy-related pytest
157+
run: /isaac-sim/python.sh -m pytest -sv isaaclab_arena_gr00t/tests/
158+
159+
160+
build_docs_pre_merge:
161+
name: Build the docs (pre-merge)
162+
runs-on: [self-hosted, gpu]
163+
timeout-minutes: 30
164+
needs: [pre_commit]
165+
166+
container:
167+
image: python:3.11-slim
168+
169+
steps:
170+
# Setup.
171+
- *install_git_step
172+
- *mark_repo_safe_step
173+
- *cleanup_step
174+
175+
- name: Checkout Code
176+
uses: actions/checkout@v4
177+
178+
# Build docs for the current branch (validates PR changes)
179+
- name: Build docs
180+
working-directory: ./docs
181+
run: |
182+
pip3 install -r requirements.txt
183+
make SPHINXOPTS=-W html
184+
185+
186+
build_and_push_image_post_merge:
187+
name: Build & push NGC image (post-merge)
188+
runs-on: [self-hosted, gpu]
189+
timeout-minutes: 90
190+
needs: [test, test_policy] # only push if tests passed
191+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
192+
193+
container:
194+
image: ubuntu:latest
195+
196+
env:
197+
# already defined at top, but keep here for clarity/local override if needed
198+
NGC_API_KEY: ${{ secrets.ARENA_NGC_API_KEY }}
199+
200+
steps:
201+
# Setup.
202+
- *install_git_step
203+
- *mark_repo_safe_step
204+
- *cleanup_step
205+
- *checkout_step
206+
207+
- name: Install docker
208+
run: |
209+
apt-get update
210+
apt-get install -y ca-certificates curl gnupg && \
211+
install -m 0755 -d /etc/apt/keyrings && \
212+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
213+
chmod a+r /etc/apt/keyrings/docker.gpg && \
214+
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
215+
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null &&
216+
apt-get update && apt-get install -y docker.io docker-buildx-plugin
217+
docker --version
218+
219+
- name: Docker login to NGC
220+
# $oauthtoken is the literal NGC username; pipe the NGC API key via stdin
221+
run: echo "${NGC_API_KEY}" | docker login nvcr.io -u '$oauthtoken' --password-stdin
222+
223+
- name: Build & push image to NGC
224+
run: |
225+
chmod +x ./docker/push_to_ngc* || true
226+
./docker/push_to_ngc.sh -p
227+
228+
- name: Build & push image to NGC (GR00T Image)
229+
run: |
230+
chmod +x ./docker/push_to_ngc* || true
231+
./docker/push_to_ngc.sh -p -g -t cuda_gr00t_gn16

0 commit comments

Comments
 (0)