33#
44# SPDX-License-Identifier: BSD-3-Clause
55
6- name : Daily Backwards Compatibility Tests
6+ name : Backwards Compatibility Tests
77
88on :
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 :
1920
2021# Concurrency control to prevent parallel runs
2122concurrency :
22- group : daily-compatibilit y -${{ github.ref }}
23+ group : compatibility-${{ github.ref }} -${{ github.event_name }}
2324 cancel-in-progress : true
2425
2526permissions :
@@ -29,20 +30,43 @@ permissions:
2930env :
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
3534jobs :
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
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