From f52f62c8626164c8c5f18ac7a42b5fe5fe2a39ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1vid=20H=C3=A1zi?= Date: Thu, 7 Mar 2024 17:43:29 +0100 Subject: [PATCH] ci: Add Corstone315 and Object Detection app tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Corstone-315 added to the blinky and to the ML/OTA tests too. Signed-off-by: Dávid Házi --- .github/.cSpellWords.txt | 65 ++++++++++++++++++++++++++++++++++++ .github/workflows/build.yaml | 6 ++-- .gitlab-ci.yml | 30 +++++++++++++++-- 3 files changed, 97 insertions(+), 4 deletions(-) diff --git a/.github/.cSpellWords.txt b/.github/.cSpellWords.txt index 3a7f6ec9..01d7a37e 100644 --- a/.github/.cSpellWords.txt +++ b/.github/.cSpellWords.txt @@ -1,6 +1,11 @@ +ACAMERA +Acamera +acamera aesni AESNI +AEXP +aframe armar Armv ASYM @@ -8,18 +13,26 @@ BBOOL blinky Blinky BWCAP +CALIB cbor cborencoder cborerrorstrings cborparser cborpretty +cccn +CDMA +cdma cffi cmac CMAC +CMOS +cmos CMSDK cmsis CMSIS CMSIS's +COEF +coef compatibil coremqtt COSE @@ -29,13 +42,20 @@ DACTIVATION DARM DCMAKE DCONFIG +DECOMPANDER +decompander +DEMOSAIC +Demosaic +demosaic demultiplexing DETHOS DETHOSU DFLASH +dgain dgst DMCUBOOT docuemnt +DONGWOON DPLATFORM DPROJECT drbg @@ -50,20 +70,34 @@ ecdh ECDH ECKEY endpointid +evlog +EVTOLUX +evtolux FIFOS fftr fftwrap fsanitize FVPs +fwmem +GBRG gemmlowp +GLCD GPIO havege +HDLCD +Hdlcd +hdlcd hkdf HKDF +ICSR IDAQAB indet inkey +ioremap iotdeviceadvisor +iounmap +IRIDIX +iridix IRQN ISRAM istty @@ -80,6 +114,10 @@ libspeexdsp Libseepx LLMNR lltoa +luma +LUTS +luts +MACROFIED MAXR MAXW MAXRW @@ -102,6 +140,8 @@ MQTT's mqttexample MVEI Mzrdfkvi +nents +NIOS NSPE NVIC Onoa @@ -120,13 +160,22 @@ ppuc prepoccessor pyelftools pyproject +QADD +QDADD +QDSUB QSPI Retarget Rfbo RIHN RLATENCY +RGBG +rgbg +RGGB +rggb +ROHM RSAES RSASSA +rtrack SBCON SECP speex @@ -137,20 +186,36 @@ srecord srtp SRTP SSRAM +SSSZ suppr SYSWDOG +TALGORITHMS +TGENERAL +THEIGHT tinycbor tinycbor's TINYCBOR +TISP tpip TPIP TRNG +TSCENE +TSYSTEM +TWIDTH +UARTTX UDBL +umean uncrustify unusued USART +UYVY +VCLK +VECTACTIVE venv +vmean vsocket +WGHT +wght WLATENCY xtea zeroize diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 54c8ce31..9902313a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -22,12 +22,14 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - application: [keyword-detection, speech-recognition] + application: [keyword-detection, speech-recognition, object-detection] audio: [ROM, VSI] inference: [ETHOS, SOFTWARE] exclude: - application: speech-recognition inference: SOFTWARE + - application: object-detection + audio: VSI steps: - name: Checkout project uses: actions/checkout@v3 @@ -44,7 +46,7 @@ jobs: - name: Install build dependencies shell: bash run: | - pip install cmake ninja imgtool cffi intelhex cbor2 cbor jinja2 PyYaml pyelftools + pip install cmake ninja imgtool cffi intelhex cbor2 cbor jinja2 PyYaml pyelftools pyhsslms sudo apt-get -y update sudo apt-get -y install srecord libsndfile1-dev - name: Install GNU Arm toolchain diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 575712e6..0cc1db3f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,14 +20,20 @@ variables: # Those fragments contain base variables required by pipelines for applications. # They can be used to set matrix parameters and extended using << : .anchor syntax .pipeline_config_non_ml_applications: &pipeline_config_non_ml_applications - TARGET: [corstone310, corstone300] + TARGET: [corstone315, corstone310, corstone300] TOOLCHAIN: [ARMCLANG, GNU] INFERENCE: [ETHOS] AUDIO: [ROM] .pipeline_config_ml_applications: &pipeline_config_ml_applications - TARGET: [corstone310, corstone300] + TARGET: [corstone315, corstone310, corstone300] TOOLCHAIN: [ARMCLANG, GNU] AUDIO: [ROM, VSI] +.pipeline_config_object_detection_applications: &pipeline_config_object_detection_applications + TARGET: [corstone315] + TOOLCHAIN: [ARMCLANG, GNU] + INFERENCE: [ETHOS, SOFTWARE] + AUDIO: [ROM] + APP: [object-detection] stages: - quality-check @@ -58,10 +64,15 @@ workflow: if [ $TARGET == "corstone310" ];then FVP_BIN=FVP_Corstone_SSE-310 fi + - | + if [ $TARGET == "corstone315" ];then + FVP_BIN=FVP_Corstone_SSE-315 + fi parallel: matrix: - *pipeline_config_non_ml_applications - *pipeline_config_ml_applications + - *pipeline_config_object_detection_applications variables: PYTHONUNBUFFERED: 1 @@ -115,6 +126,8 @@ build-applications: << : *pipeline_config_ml_applications APP: [speech-recognition] INFERENCE: [ETHOS] + - + << : *pipeline_config_object_detection_applications artifacts: paths: @@ -164,6 +177,17 @@ test-applications: --pass-output-file "applications/${APP_UNDERSCORED}/tests/pass_output.log" \ --fail-output-file "applications/${APP_UNDERSCORED}/tests/fail_output.log" \ --pythonhome-path "/opt/python/3.9.18" + elif [[ $APP == "object-detection" ]]; then + pytest -s tools/tests/test_applications.py \ + --frm-file-path "applications/${APP_UNDERSCORED}/resources/test.frm" \ + --build-artefacts-path "build" \ + --fvp $FVP_BIN \ + --credentials-path "applications/${APP_UNDERSCORED}/configs/aws_configs" \ + --merged-elf-name "${APP}_merged.elf" \ + --signed-update-bin-name "${APP}-update_signed.bin" \ + --timeout-seconds 1800 \ + --pass-output-file "applications/${APP_UNDERSCORED}/tests/pass_output.log" \ + --fail-output-file "applications/${APP_UNDERSCORED}/tests/fail_output.log" else pytest -s tools/tests/test_applications.py \ --build-artefacts-path "build" \ @@ -185,6 +209,8 @@ test-applications: << : *pipeline_config_ml_applications APP: [speech-recognition] INFERENCE: [ETHOS] + - + << : *pipeline_config_object_detection_applications integration-tests: stage: test