From 8fc5f144ac725461d1e3f7abf4ca1c5accf0cd31 Mon Sep 17 00:00:00 2001 From: Hyeongseok Oh Date: Tue, 14 Jan 2025 10:10:27 +0900 Subject: [PATCH] [infra/github] Add arm32/64 onert test This commit adds arm32/64 onert test to onert test workflow. ONE-DCO-1.0-Signed-off-by: Hyeongseok Oh --- .github/workflows/run-onert-build.yml | 44 +++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-onert-build.yml b/.github/workflows/run-onert-build.yml index 5310e71d667..c15f1dad243 100644 --- a/.github/workflows/run-onert-build.yml +++ b/.github/workflows/run-onert-build.yml @@ -45,7 +45,14 @@ jobs: matrix: type: [ debug, release ] ubuntu_code: [ focal, jammy ] # TODO: noble - arch: [ x86_64 ] # TODO: armv7l, aarch64 + arch: [ x86_64, armv7l, aarch64 ] + include: + - arch: armv7l + platform: linux/arm/v7 + arch_fs: arm + - arch: aarch64 + platform: linux/arm64 + arch_fs: aarch64 runs-on: ubuntu-22.04 container: image: nnfw/one-devtools:${{ matrix.ubuntu_code }} @@ -53,6 +60,7 @@ jobs: env: TARGET_ARCH: ${{ matrix.arch }} BUILD_TYPE: ${{ matrix.type }} + CROSS_BUILD: ${{ matrix.arch != 'x86_64' && '1' || '0' }} steps: - name: Checkout uses: actions/checkout@v4 @@ -67,11 +75,43 @@ jobs: external-onert- external- + - name: Download rootfs for cross build + if: matrix.arch != 'x86_64' + uses: dawidd6/action-download-artifact@v7 + with: + workflow: generate-rootfs.yml + branch: master + name: rootfs_${{ matrix.ubuntu_code }}_${{ matrix.arch_fs }} + + - name: Install rootfs for cross build + if: matrix.arch != 'x86_64' + run: | + mkdir -p tools/cross/rootfs + tar -zxf rootfs_${{ matrix.ubuntu_code }}_${{ matrix.arch_fs }}.tar.gz -C tools/cross/rootfs + - name: Build onert run: | make -f Makefile.template - - name: Run test + - name: Run test on native build + if: matrix.arch == 'x86_64' run: | ./Product/out/test/onert-test unittest ./Product/out/test/onert-test unittest --unittestdir=./Product/out/nnapi-gtest + + - name: QEMU for cross build + if: matrix.arch != 'x86_64' + uses: docker/setup-qemu-action@v3 + + - name: Run test on cross build + if: matrix.arch != 'x86_64' + uses: addnab/docker-run-action@v3 + with: + image: ubuntu:${{ matrix.ubuntu_code }} + shell: bash + options: | + --platform ${{ matrix.platform }} + -v ${{ github.workspace }}:/work -w /work + run: | + ./Product/out/test/onert-test unittest + ./Product/out/test/onert-test unittest --unittestdir=./Product/out/nnapi-gtest