@@ -150,8 +150,68 @@ jobs:
150150 exit 1
151151 fi
152152
153+ test-general-arm :
154+ runs-on : [self-hosted, arm]
155+ timeout-minutes : 180
156+
157+ steps :
158+ - name : Checkout Code
159+ uses : actions/checkout@v4
160+ with :
161+ fetch-depth : 0
162+ lfs : true
163+
164+ - name : Build Docker Image
165+ uses : ./.github/actions/docker-build
166+ with :
167+ image-tag : ${{ env.DOCKER_IMAGE_TAG }}
168+ isaacsim-base-image : ${{ env.ISAACSIM_BASE_IMAGE }}
169+ isaacsim-version : ${{ env.ISAACSIM_BASE_VERSION }}
170+
171+ - name : Run General Tests on ARM
172+ id : run-general-tests-arm
173+ uses : ./.github/actions/run-tests
174+ with :
175+ test-path : " tools"
176+ result-file : " general-tests-arm-report.xml"
177+ container-name : " isaac-lab-general-test-arm-$$"
178+ image-tag : ${{ env.DOCKER_IMAGE_TAG }}
179+ pytest-options : " "
180+ filter-pattern : " not isaaclab_tasks"
181+
182+ - name : Copy Test Results from General Tests ARM Container
183+ run : |
184+ CONTAINER_NAME="isaac-lab-general-test-arm-$$"
185+ if docker ps -a | grep -q $CONTAINER_NAME; then
186+ echo "Copying test results from General Tests ARM container..."
187+ docker cp $CONTAINER_NAME:/workspace/isaaclab/tests/general-tests-arm-report.xml reports/ 2>/dev/null || echo "No test results to copy from General Tests ARM container"
188+ fi
189+
190+ - name : Upload General Test Results ARM
191+ uses : actions/upload-artifact@v4
192+ if : always()
193+ with :
194+ name : general-test-arm-results
195+ path : reports/general-tests-arm-report.xml
196+ retention-days : 1
197+ compression-level : 9
198+
199+ - name : Check Test Results for Fork PRs
200+ if : github.event.pull_request.head.repo.full_name != github.repository
201+ run : |
202+ if [ -f "reports/general-tests-arm-report.xml" ]; then
203+ # Check if the test results contain any failures
204+ if grep -q 'failures="[1-9]' reports/general-tests-arm-report.xml || grep -q 'errors="[1-9]' reports/general-tests-arm-report.xml; then
205+ echo "Tests failed for PR from fork. The test report is in the logs. Failing the job."
206+ exit 1
207+ fi
208+ else
209+ echo "No test results file found. This might indicate test execution failed."
210+ exit 1
211+ fi
212+
153213 combine-results :
154- needs : [test-isaaclab-tasks, test-general]
214+ needs : [test-isaaclab-tasks, test-general, test-general-arm ]
155215 runs-on : [self-hosted, gpu]
156216 if : always()
157217
@@ -179,6 +239,13 @@ jobs:
179239 name : general-test-results
180240 path : reports/
181241
242+ - name : Download General Test Results ARM
243+ uses : actions/download-artifact@v4
244+ with :
245+ name : general-test-arm-results
246+ path : reports/
247+ continue-on-error : true
248+
182249 - name : Combine All Test Results
183250 uses : ./.github/actions/combine-results
184251 with :
0 commit comments