Improvements to example scripts and uVision projects (#208) #38
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |