Skip to content

Commit cf0ba48

Browse files
committed
Adds ARM tests to run in parallel with the x86 GPU tests in pre-merge
1 parent b606054 commit cf0ba48

File tree

2 files changed

+71
-3
lines changed

2 files changed

+71
-3
lines changed

.github/actions/docker-build/action.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,10 @@ runs:
5555
echo "Building Docker image: $image_tag"
5656
echo "Using Dockerfile: $dockerfile_path"
5757
echo "Build context: $context_path"
58+
echo "Building for native platform (auto-detected by buildx)"
5859
59-
# Build Docker image
60-
docker buildx build --progress=plain --platform linux/amd64 \
60+
# Build Docker image for native platform
61+
docker buildx build --progress=plain \
6162
-t isaac-lab-dev \
6263
-t $image_tag \
6364
--build-arg ISAACSIM_BASE_IMAGE_ARG="$isaacsim_base_image" \

.github/workflows/build.yml

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)