Unverified Commit 3be81f2a authored by Christophe Favergeon's avatar Christophe Favergeon Committed by GitHub
Browse files

Added github action to test CPP API (#187)

Github action to test C++ API
parent fd088ac7
Loading
Loading
Loading
Loading
+108 −0
Original line number Diff line number Diff line
name: Compile and Run
on:
  workflow_dispatch:
  pull_request:
    branches: [main]
  push:
    branches: [main]

permissions: 
  actions: read
  security-events: write

jobs:
   CI_cpp_test_run: 
    strategy:
      fail-fast: false
      matrix:
        # GCC currently has too many problems with the C++ API
        compiler: [AC6, CLANG]
        core: [M0, M4, M55]
    runs-on: ubuntu-latest    

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Python 3.10
        uses: actions/setup-python@v5
        with:
          python-version: '3.10'
          cache: 'pip'
          cache-dependency-path: Testing/requirements.txt
      
      - name: Install system packages
        run: |
          sudo add-apt-repository ppa:deadsnakes/ppa
          sudo apt-get install libpython3.9 libtinfo5

      - name: Cache packs
        uses: actions/cache@v4
        with:
          key: packs-cmsis-dsp
          restore-keys: |
              packs-
          path: /home/runner/.cache/arm/packs

      - name: Activate vcpkg
        uses: ARM-software/cmsis-actions/vcpkg@v1
        with:
          cache: "-cmsis_dsp_vcpkg"

      - name: Activate Arm tool license
        uses: ARM-software/cmsis-actions/armlm@v1
  
      - name: Cache boost
        id: cache-boost
        uses: actions/cache@v4
        with:
          key: boost-cmsis-dsp
          restore-keys: |
              boost-cmsis-dsp
          path: ${{ github.workspace }}/boost_1_84_0

      - name: Install boost
        if: steps.cache-boost.outputs.cache-hit != 'true'
        run: |
          echo "Install boost"
          curl -o boost.tar.gz https://archives.boost.io/release/1.84.0/source/boost_1_84_0.tar.gz
          tar -xf boost.tar.gz
          
      - name: Prepare framework
        run: |
          cd dsppp
          echo "Create missing folders"
          mkdir AC6_results
          mkdir CLANG_results
          mkdir GCC_results

          echo "Install missing python packages"
          pip install -r ../Testing/requirements.txt

          echo "Load missing pack"
          csolution list packs -s  test.csolution.yml -m > required_packs.txt
          
          cat required_packs.txt
          cpackget add -a -f required_packs.txt


      - name: Execute
        run: |
          cd dsppp
          echo "Running tests"

          python run_all.py -t -g ${{ matrix.compiler }} -c ${{ matrix.core }} -avh $AVH_FVP_PLUGINS/../bin

      - name: Upload test report
        uses: actions/upload-artifact@v4
        with:
          name: test-cpp-report_${{ matrix.compiler }}_${{ matrix.core }}
          path: dsppp/${{ matrix.compiler }}_results/errors_${{ matrix.core }}.txt

      
      - name: Check error
        run: |
          cd dsppp
          
          echo "Checking output..."
          test "$(cat ${{ matrix.compiler }}_results/errors_${{ matrix.core }}.txt | wc -l)" -eq 0
+13 −3
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ permissions:
  security-events: write

jobs:
   CI_test_run: 
   CI_c_test_run: 
    strategy:
      fail-fast: false
      matrix:
@@ -26,16 +26,26 @@ jobs:
        uses: actions/setup-python@v5
        with:
          python-version: '3.10'
          cache: 'pip'
          cache-dependency-path: Testing/requirements.txt

      - name: Install system packages
        run: |
          sudo add-apt-repository ppa:deadsnakes/ppa
          sudo apt-get install libpython3.9 libtinfo5

      - name: Cache packs
        uses: actions/cache@v4
        with:
          key: packs-cmsis-dsp
          restore-keys: |
              packs-
          path: /home/runner/.cache/arm/packs

      - name: Activate vcpkg
        uses: ARM-software/cmsis-actions/vcpkg@v1
        with:
          cache: "-${{ matrix.compiler }}"
          cache: "-cmsis_dsp_vcpkg"

      - name: Activate Arm tool license
        uses: ARM-software/cmsis-actions/armlm@v1
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ PythonWrapper/build_linux/Makefile
PythonWrapper/build_linux/bin_dsp/
PythonWrapper/build_linux/build.sh
PythonWrapper/build_linux/cmake_install.cmake

boost_1_84_0/


# Output of the linkchecker tool
+3 −0
Original line number Diff line number Diff line
@@ -11,3 +11,6 @@ run_*.bat
ac6_results/
gcc_results/
clang_results/
AC6_results/
GCC_results/
CLANG_results/
+1 −1
Original line number Diff line number Diff line
/*
 * CSOLUTION generated file: DO NOT EDIT!
 * Generated by: csolution version 2.2.1
 * Generated by: csolution version 2.4.0
 *
 * Project: 'test.Release+VHT-Corstone-300' 
 * Target:  'Release+VHT-Corstone-300' 
Loading