Skip to content

test(hw): runtime device-tree overlay lifecycle for AD9081+ZCU102 and ADRV9009+ZC706 #111

test(hw): runtime device-tree overlay lifecycle for AD9081+ZCU102 and ADRV9009+ZC706

test(hw): runtime device-tree overlay lifecycle for AD9081+ZCU102 and ADRV9009+ZC706 #111

Workflow file for this run

name: Test on Kuiper64
permissions:
contents: read
checks: write
pull-requests: write
env:
APP_NAME: pyadi-dt
on:
pull_request:
branches:
- main
jobs:
kuiper64-test:
runs-on: ubuntu-24.04-arm
env:
CONTAINER_BASE_NAME: kuiper-container-basic
DOCKER_IMAGE: aandrisa/kuiper_basic_64:latest
IMAGE_ARCH: linux/arm64
ARCHITECTURE: arm64
name: Test on Kuiper64
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
path: ${{env.APP_NAME}}
- name: Start persistent container
run: |
docker run -d \
--platform ${{env.IMAGE_ARCH}} \
--name ${{env.CONTAINER_BASE_NAME}}-${{env.ARCHITECTURE}} \
-v "$GITHUB_WORKSPACE/${{env.APP_NAME}}:/workspace/${{env.APP_NAME}}" \
-w /workspace/${{env.APP_NAME}} \
${{env.DOCKER_IMAGE}} tail -f /dev/null
- name: Install Python dependencies
# python3-dev is needed for docplex's sdist install path, which
# builds an old numpy (1.26.4) from source when no matching arm64
# wheel is available; without Python.h the numpy build fails.
run: |
docker exec ${{env.CONTAINER_BASE_NAME}}-${{env.ARCHITECTURE}} sh -c "apt-get update && apt-get install -y --no-install-recommends python3-dev && python3 -m pip install --upgrade pip && pip install '.[test]'"
- name: Run tests
run: |
docker exec ${{env.CONTAINER_BASE_NAME}}-${{env.ARCHITECTURE}} sh -c \
"pytest -vs --junitxml=/workspace/${{env.APP_NAME}}/junit-kuiper64.xml"
- name: Upload JUnit XML
if: always()
uses: actions/upload-artifact@v4
with:
name: junit-kuiper64
path: ${{env.APP_NAME}}/junit-kuiper64.xml
retention-days: 14
if-no-files-found: warn
- name: Publish test results to PR
if: always()
uses: dorny/test-reporter@v1
with:
name: Tests (Kuiper64)
# working-directory tells the reporter where to run git
# operations; the checkout stepped us into APP_NAME/.
working-directory: ${{env.APP_NAME}}
path: junit-kuiper64.xml
reporter: java-junit
fail-on-error: false
- name: Publish PR comment with test summary
if: always() && github.event_name == 'pull_request'
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: ${{env.APP_NAME}}/junit-kuiper64.xml
check_name: 'Kuiper64 Test Results'
comment_mode: always
report_individual_runs: true