Skip to content

Commit 8ad6ecf

Browse files
authored
Merge branch 'isaac-sim:main' into main
2 parents 34e8c55 + 9cbf024 commit 8ad6ecf

File tree

341 files changed

+14085
-2219
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

341 files changed

+14085
-2219
lines changed

.github/ISSUE_TEMPLATE/proposal.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@ If this is related to another GitHub issue, please link here too.
2121

2222
A clear and concise description of any alternative solutions or features you've considered, if any.
2323

24+
### Build Info
25+
26+
Describe the versions where you are observing the missing feature in:
27+
28+
<!-- Please complete the following description. -->
29+
- Isaac Lab Version: [e.g. 2.3.0]
30+
- Isaac Sim Version: [e.g. 5.1, this can be obtained by `cat ${ISAACSIM_PATH}/VERSION`]
31+
2432
### Additional context
2533

2634
Add any other context or screenshots about the feature request here.

.github/ISSUE_TEMPLATE/question.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,12 @@ Basic questions, related to robot learning, that are not bugs or feature request
1010

1111
Advanced/nontrivial questions, especially in areas where documentation is lacking, are very much welcome.
1212

13-
For questions that are related to running and understanding Isaac Sim, please post them at the official [Isaac Sim forums](https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/isaac_sim_forums.html).
13+
For questions that are related to running and understanding Isaac Sim, please post them at the official [Isaac Sim forums](https://forums.developer.nvidia.com/c/omniverse/simulation/69).
14+
15+
### Build Info
16+
17+
Describe the versions that you are currently using:
18+
19+
<!-- Please complete the following description. -->
20+
- Isaac Lab Version: [e.g. 2.3.0]
21+
- Isaac Sim Version: [e.g. 5.1, this can be obtained by `cat ${ISAACSIM_PATH}/VERSION`]

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ permissions:
2626
env:
2727
NGC_API_KEY: ${{ secrets.NGC_API_KEY }}
2828
ISAACSIM_BASE_IMAGE: ${{ vars.ISAACSIM_BASE_IMAGE || 'nvcr.io/nvidia/isaac-sim' }}
29-
ISAACSIM_BASE_VERSION: ${{ vars.ISAACSIM_BASE_VERSION || '5.0.0' }}
29+
ISAACSIM_BASE_VERSION: ${{ vars.ISAACSIM_BASE_VERSION || '5.1.0' }}
3030
DOCKER_IMAGE_TAG: isaac-lab-dev:${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || github.ref_name }}-${{ github.sha }}
3131

3232
jobs:

.github/workflows/check-links.yml

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# Copyright (c) 2022-2025, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md).
2+
# All rights reserved.
3+
#
4+
# SPDX-License-Identifier: BSD-3-Clause
5+
6+
name: Check Documentation Links
7+
8+
on:
9+
# Run on pull requests that modify documentation
10+
pull_request:
11+
paths:
12+
- 'docs/**'
13+
- '**.md'
14+
- '.github/workflows/check-links.yml'
15+
# Run on pushes to main branches
16+
push:
17+
branches:
18+
- main
19+
- devel
20+
- 'release/**'
21+
paths:
22+
- 'docs/**'
23+
- '**.md'
24+
- '.github/workflows/check-links.yml'
25+
# Allow manual trigger
26+
workflow_dispatch:
27+
# Run weekly to catch external links that break over time
28+
schedule:
29+
- cron: '0 0 * * 0' # Every Sunday at midnight UTC
30+
31+
concurrency:
32+
group: ${{ github.workflow }}-${{ github.ref }}
33+
cancel-in-progress: true
34+
35+
jobs:
36+
check-links:
37+
name: Check for Broken Links
38+
runs-on: ubuntu-latest
39+
40+
steps:
41+
- name: Checkout code
42+
uses: actions/checkout@v4
43+
with:
44+
fetch-depth: 0
45+
46+
- name: Restore lychee cache
47+
uses: actions/cache@v4
48+
with:
49+
path: .lycheecache
50+
key: cache-lychee-${{ github.sha }}
51+
restore-keys: cache-lychee-
52+
53+
- name: Run Link Checker
54+
uses: lycheeverse/lychee-action@v2
55+
with:
56+
# Check all markdown files and documentation
57+
args: >-
58+
--verbose
59+
--no-progress
60+
--cache
61+
--max-cache-age 1d
62+
--exclude-path './docs/_build'
63+
--exclude-path './apps/warp-*'
64+
--exclude-path './logs'
65+
--exclude-path './outputs'
66+
--exclude-loopback
67+
--exclude '^file://'
68+
--exclude '^mailto:'
69+
--exclude 'localhost'
70+
--exclude '127\.0\.0\.1'
71+
--exclude 'example\.com'
72+
--exclude 'your-organization'
73+
--exclude 'YOUR_'
74+
--exclude 'yourdomain'
75+
--exclude 'user@'
76+
--exclude 'helm\.ngc\.nvidia\.com'
77+
--exclude 'slurm\.schedmd\.com'
78+
--max-retries 3
79+
--retry-wait-time 5
80+
--timeout 30
81+
--accept 200,201,202,203,204,206,301,302,303,307,308,429
82+
--scheme https
83+
--scheme http
84+
'*.md'
85+
'**/*.md'
86+
'docs/**/*.rst'
87+
'docs/**/*.html'
88+
# Output results to a file
89+
output: ./lychee-output.md
90+
# Fail action on broken links
91+
fail: true
92+
# Optional: Use GitHub token for authenticated requests (higher rate limit)
93+
token: ${{ secrets.GITHUB_TOKEN }}
94+
95+
- name: Print results to logs
96+
if: always()
97+
run: |
98+
echo "========================================"
99+
echo "Link Checker Results:"
100+
echo "========================================"
101+
if [ -f ./lychee-output.md ]; then
102+
cat ./lychee-output.md
103+
echo ""
104+
echo "========================================"
105+
106+
# Also add to GitHub step summary for easy viewing
107+
echo "## Link Checker Results" >> $GITHUB_STEP_SUMMARY
108+
echo "" >> $GITHUB_STEP_SUMMARY
109+
cat ./lychee-output.md >> $GITHUB_STEP_SUMMARY
110+
else
111+
echo "No output file generated"
112+
echo "========================================"
113+
fi
114+
115+
- name: Fail job if broken links found
116+
if: failure()
117+
run: |
118+
echo "❌ Broken links were found in the documentation!"
119+
echo "Please review the link checker report above and fix all broken links."
120+
exit 1

.github/workflows/cherry-pick.yml

Lines changed: 0 additions & 42 deletions
This file was deleted.

.github/workflows/daily-compatibility.yml

Lines changed: 48 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
#
44
# SPDX-License-Identifier: BSD-3-Clause
55

6-
name: Daily Backwards Compatibility Tests
6+
name: Backwards Compatibility Tests
77

88
on:
99
schedule:
1010
# Run daily at 8 PM PST (4 AM UTC)
1111
- cron: '0 4 * * *'
12+
1213
workflow_dispatch:
1314
inputs:
1415
isaacsim_version:
@@ -19,7 +20,7 @@ on:
1920

2021
# Concurrency control to prevent parallel runs
2122
concurrency:
22-
group: daily-compatibilit y-${{ github.ref }}
23+
group: compatibility-${{ github.ref }}-${{ github.event_name }}
2324
cancel-in-progress: true
2425

2526
permissions:
@@ -29,20 +30,43 @@ permissions:
2930
env:
3031
NGC_API_KEY: ${{ secrets.NGC_API_KEY }}
3132
ISAACSIM_BASE_IMAGE: ${{ vars.ISAACSIM_BASE_IMAGE || 'nvcr.io/nvidia/isaac-sim' }}
32-
ISAACSIM_DEFAULT_VERSION: '4.5.0'
33-
DOCKER_IMAGE_TAG: isaac-lab-compat:${{ github.ref_name }}-${{ github.sha }}
3433

3534
jobs:
35+
setup-versions:
36+
runs-on: ubuntu-latest
37+
outputs:
38+
versions: ${{ steps.set-versions.outputs.versions }}
39+
steps:
40+
- name: Set Isaac Sim Versions
41+
id: set-versions
42+
run: |
43+
# Define all versions to test in one place
44+
DEFAULT_VERSIONS='["4.5.0", "5.0.0"]'
45+
46+
if [ -n "${{ github.event.inputs.isaacsim_version }}" ]; then
47+
# If a specific version is provided via workflow_dispatch, use only that
48+
echo "versions=[\"${{ github.event.inputs.isaacsim_version }}\"]" >> $GITHUB_OUTPUT
49+
else
50+
# Otherwise, use all default versions
51+
echo "versions=$DEFAULT_VERSIONS" >> $GITHUB_OUTPUT
52+
fi
53+
3654
test-isaaclab-tasks-compat:
55+
needs: setup-versions
3756
runs-on: [self-hosted, gpu]
3857
timeout-minutes: 180
3958
continue-on-error: true
59+
strategy:
60+
matrix:
61+
isaacsim_version: ${{ fromJson(needs.setup-versions.outputs.versions) }}
62+
fail-fast: false
4063
env:
4164
CUDA_VISIBLE_DEVICES: all
4265
NVIDIA_VISIBLE_DEVICES: all
4366
NVIDIA_DRIVER_CAPABILITIES: all
4467
CUDA_HOME: /usr/local/cuda
4568
LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
69+
DOCKER_IMAGE_TAG: isaac-lab-compat:${{ github.ref_name }}-${{ github.sha }}-${{ matrix.isaacsim_version }}
4670

4771
steps:
4872
- name: Checkout Code
@@ -56,7 +80,7 @@ jobs:
5680
with:
5781
image-tag: ${{ env.DOCKER_IMAGE_TAG }}
5882
isaacsim-base-image: ${{ env.ISAACSIM_BASE_IMAGE }}
59-
isaacsim-version: ${{ github.event.inputs.isaacsim_version || env.ISAACSIM_DEFAULT_VERSION }}
83+
isaacsim-version: ${{ matrix.isaacsim_version }}
6084

6185
- name: Run IsaacLab Tasks Tests
6286
uses: ./.github/actions/run-tests
@@ -80,20 +104,26 @@ jobs:
80104
uses: actions/upload-artifact@v4
81105
if: always()
82106
with:
83-
name: isaaclab-tasks-compat-results
107+
name: isaaclab-tasks-compat-results-${{ matrix.isaacsim_version }}
84108
path: reports/isaaclab-tasks-compat-report.xml
85109
retention-days: 7
86110
compression-level: 9
87111

88112
test-general-compat:
113+
needs: setup-versions
89114
runs-on: [self-hosted, gpu]
90115
timeout-minutes: 180
116+
strategy:
117+
matrix:
118+
isaacsim_version: ${{ fromJson(needs.setup-versions.outputs.versions) }}
119+
fail-fast: false
91120
env:
92121
CUDA_VISIBLE_DEVICES: all
93122
NVIDIA_VISIBLE_DEVICES: all
94123
NVIDIA_DRIVER_CAPABILITIES: all
95124
CUDA_HOME: /usr/local/cuda
96125
LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
126+
DOCKER_IMAGE_TAG: isaac-lab-compat:${{ github.ref_name }}-${{ github.sha }}-${{ matrix.isaacsim_version }}
97127

98128
steps:
99129
- name: Checkout Code
@@ -107,7 +137,7 @@ jobs:
107137
with:
108138
image-tag: ${{ env.DOCKER_IMAGE_TAG }}
109139
isaacsim-base-image: ${{ env.ISAACSIM_BASE_IMAGE }}
110-
isaacsim-version: ${{ github.event.inputs.isaacsim_version || env.ISAACSIM_DEFAULT_VERSION }}
140+
isaacsim-version: ${{ matrix.isaacsim_version }}
111141

112142
- name: Run General Tests
113143
uses: ./.github/actions/run-tests
@@ -131,7 +161,7 @@ jobs:
131161
uses: actions/upload-artifact@v4
132162
if: always()
133163
with:
134-
name: general-tests-compat-results
164+
name: general-tests-compat-results-${{ matrix.isaacsim_version }}
135165
path: reports/general-tests-compat-report.xml
136166
retention-days: 7
137167
compression-level: 9
@@ -152,18 +182,12 @@ jobs:
152182
run: |
153183
mkdir -p reports
154184
155-
- name: Download Test Results
156-
uses: actions/download-artifact@v4
157-
with:
158-
name: isaaclab-tasks-compat-results
159-
path: reports/
160-
continue-on-error: true
161-
162-
- name: Download General Test Results
185+
- name: Download All Test Results
163186
uses: actions/download-artifact@v4
164187
with:
165-
name: general-tests-compat-results
188+
pattern: '*-compat-results-*'
166189
path: reports/
190+
merge-multiple: true
167191
continue-on-error: true
168192

169193
- name: Combine All Test Results
@@ -185,14 +209,14 @@ jobs:
185209
uses: dorny/test-reporter@v1
186210
if: always()
187211
with:
188-
name: IsaacLab Compatibility Test Results
212+
name: IsaacLab Compatibility Test Results (${{ github.event_name }})
189213
path: reports/combined-compat-results.xml
190214
reporter: java-junit
191215
max-annotations: '50'
192-
report-title: "IsaacLab Compatibility Test Results - ${{ github.workflow }}"
216+
report-title: "IsaacLab Compatibility Test Results - ${{ github.event_name }} - ${{ github.ref_name }}"
193217

194218
notify-compatibility-status:
195-
needs: [combine-compat-results]
219+
needs: [setup-versions, combine-compat-results]
196220
runs-on: [self-hosted, gpu]
197221
if: always()
198222

@@ -205,10 +229,12 @@ jobs:
205229

206230
- name: Create Compatibility Report
207231
run: |
208-
ISAACSIM_VERSION_USED="${{ github.event.inputs.isaacsim_version || env.ISAACSIM_DEFAULT_VERSION }}"
232+
TRIGGER_INFO="**Trigger:** ${{ github.event_name }}"
233+
ISAACSIM_VERSIONS="${{ join(fromJson(needs.setup-versions.outputs.versions), ', ') }}"
209234
echo "## Daily Backwards Compatibility Test Results" > compatibility-report.md
210235
echo "" >> compatibility-report.md
211-
echo "**IsaacSim Version:** $ISAACSIM_VERSION_USED" >> compatibility-report.md
236+
echo "$TRIGGER_INFO" >> compatibility-report.md
237+
echo "**IsaacSim Versions Tested:** $ISAACSIM_VERSIONS" >> compatibility-report.md
212238
echo "**Branch:** ${{ github.ref_name }}" >> compatibility-report.md
213239
echo "**Commit:** ${{ github.sha }}" >> compatibility-report.md
214240
echo "**Run ID:** ${{ github.run_id }}" >> compatibility-report.md

0 commit comments

Comments
 (0)