6 - .github/workflows/corevalidation.yml
7 - .github/workflows/corevalidation-report.yml
8 - CMSIS/Core/Include/**/*
9 - CMSIS/Core/Source/**/*
10 - CMSIS/CoreValidation/**/*
15 group: ${{ github.workflow }}-${{ github.ref }}
16 cancel-in-progress: true
24 compiler: [AC6, GCC, Clang]
29 ARM_UBL_ACTIVATION_CODE: ${{ secrets.ARM_UBL_ACTIVATION_CODE }}
33 sudo add-apt-repository ppa:deadsnakes/ppa
34 sudo apt-get install libpython3.9
36 - uses: actions/checkout@v4
38 - working-directory: /home/runner
40 GH_TOKEN: ${{ github.token }}
42 if [ -d Cortex_DFP ]; then
45 git checkout -f origin/main
47 gh repo clone ARM-software/Cortex_DFP
50 - uses: actions/setup-python@v5
52 python-version: '3.10'
55 - name: Python requirements
57 pip install -r ./CMSIS/CoreValidation/Project/requirements.txt
59 - name: Install LLVM/Clang dependencies
60 if: matrix.compiler == 'Clang'
61 working-directory: /home/runner
64 sudo apt-get install libtinfo5
66 - name: Activate vcpkg environment
67 uses: ARM-software/cmsis-actions/vcpkg@v1
69 config: ./CMSIS/CoreValidation/Project/vcpkg-configuration.json
71 - name: Activate Arm tool license
72 uses: ARM-software/cmsis-actions/armlm@v1
74 code: "${{ env.ARM_UBL_ACTIVATION_CODE }}"
76 - name: Initialize CodeQL
77 if: matrix.compiler == 'GCC'
78 uses: github/codeql-action/init@v3
81 queries: security-and-quality
83 - uses: ammaraskar/gcc-problem-matcher@master
84 if: matrix.compiler == 'Clang' || matrix.compiler == 'GCC'
87 working-directory: ./CMSIS/CoreValidation/Project
89 echo "Register local Cortex_DFP pack"
90 cpackget add /home/runner/Cortex_DFP/ARM.Cortex_DFP.pdsc
92 echo "Build test projects ..."
93 ./build.py --verbose -c ${{ matrix.compiler }} build || echo "::warning::=== Some configurations failed to build! ==="
95 - name: Perform CodeQL Analysis
96 if: ${{ !cancelled() && matrix.compiler == 'GCC' }}
97 uses: github/codeql-action/analyze@v3
100 working-directory: ./CMSIS/CoreValidation/Project
102 echo "Run test projects ..."
103 ./build.py --verbose -c ${{ matrix.compiler }} -d "CM*" run || echo "::warning::==== Some configurations failed to run! ==="
105 - name: Archive Test Reports
106 if: ${{ !cancelled() }}
107 uses: actions/upload-artifact@v4
109 name: test-results-${{ matrix.compiler }}
110 path: ./CMSIS/CoreValidation/Project/build/*.junit
113 needs: [build-and-run]
114 runs-on: ubuntu-latest
116 - name: Archive event file
117 if: ${{ !cancelled() }}
118 uses: actions/upload-artifact@v4
121 path: ${{ github.event_path }}