From 996c0f893b8cfd5650dd69ae7db37b42fce77c2f Mon Sep 17 00:00:00 2001 From: Hugues Kamba-Mpiana Date: Mon, 26 Feb 2024 13:30:48 +0000 Subject: [PATCH] ci: Build ML apps in Github Actions The `aws-iot-example` has been replaced in the public CI with parallel builds of `keyword-detection` and `speech-recognition` applications with various configurations. Signed-off-by: Hugues Kamba-Mpiana --- .github/workflows/build.yaml | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 9afd7dac..8cfc376d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2023 Arm Limited and/or its affiliates +# Copyright (c) 2023-2024 Arm Limited and/or its affiliates # # SPDX-License-Identifier: MIT @@ -20,6 +20,14 @@ on: jobs: ubuntu: runs-on: ubuntu-latest + strategy: + matrix: + application: [keyword-detection, speech-recognition] + audio: [ROM, VSI] + include: + - inference: ETHOS + - inference: SOFTWARE + application: keyword-detection steps: - name: Checkout project uses: actions/checkout@v3 @@ -29,6 +37,7 @@ jobs: - name: Install python 3 uses: actions/setup-python@v3 with: + python-version: '3.10' architecture: x64 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -56,22 +65,27 @@ jobs: ./tools/ci/generate_credentials.sh -f -p applications/aws_iot_example/configs/aws_configs git config --global user.email "ci@example.com" git config --global user.name "ci" - - name: Build the project + - name: Build ${{ matrix.application }} application shell: bash run: | export PATH=$HOME/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin:$PATH - ./tools/scripts/build.sh aws-iot-example --toolchain GNU --certificate_path $PWD/certificate.pem --private_key_path $PWD/private_key.pem + ./tools/scripts/build.sh ${{ matrix.application }} \ + --inference ${{ matrix.inference }} \ + --audio ${{ matrix.audio }} \ + --toolchain GNU \ + --certificate_path $PWD/certificate.pem \ + --private_key_path $PWD/private_key.pem - name: Copy artifacts shell: bash run: | - tar -czf gnu_build.tar.gz \ - build/aws-iot-example_merged.elf \ - build/aws-iot-example-update_signed.bin \ + tar -czf ${{ matrix.application }}_gnu_build.tar.gz \ + build/${{ matrix.application }}_merged.elf \ + build/${{ matrix.application }}-update_signed.bin \ build/update-signature.txt - name: Upload Build Artifacts uses: actions/upload-artifact@v3 with: name: FRI-build-logs path: | - ${{ github.workspace }}/gnu_build.tar.gz + ${{ github.workspace }}/${{ matrix.application }}_gnu_build.tar.gz retention-days: 5