6 - .github/workflows/core.yml
7 - CMSIS/Core/Include/**/*
8 - CMSIS/Core/Source/**/*
14 group: ${{ github.workflow }}-${{ github.ref }}
15 cancel-in-progress: true
22 runs-on: ubuntu-latest
25 ARM_UBL_ACTIVATION_CODE: ${{ secrets.ARM_UBL_ACTIVATION_CODE }}
28 - uses: actions/checkout@v4
30 - uses: actions/setup-python@v4
32 python-version: '3.10'
35 - name: Python requirements
37 pip install -r ./CMSIS/Core/Test/requirements.txt
40 uses: actions/cache@v3
42 key: vcpkg-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }}
44 vcpkg-${{ runner.os }}-${{ runner.arch }}-
45 path: /home/runner/.vcpkg
47 - name: Install LLVM dependencies and tools
48 working-directory: /home/runner
51 sudo apt-get install libtinfo5 llvm-15-tools
52 sudo ln -s /usr/bin/FileCheck-15 /usr/bin/FileCheck
54 - name: Prepare vcpkg env
55 working-directory: ./CMSIS/Core/Test
57 . <(curl https://aka.ms/vcpkg-init.sh -L)
58 vcpkg x-update-registry --all
61 - name: Cache IAR Toolchain
62 uses: actions/cache@v3
64 key: bxarm-${{env.IAR_VERSION}}-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }}
66 bxarm-${{env.IAR_VERSION}}-${{ runner.os }}-${{ runner.arch }}-
67 path: bxarm-${{env.IAR_VERSION}}.deb
69 - name: Install IAR Toolchain
71 if [ ! -f bxarm-${{env.IAR_VERSION}}.deb ]; then
72 curl -LO http://files.iar.com/ftp/pub/box/bxarm-${{env.IAR_VERSION}}.deb
74 sudo dpkg -i bxarm-${{env.IAR_VERSION}}.deb
75 echo "/opt/iarsystems/bxarm/arm/bin" >> "$GITHUB_PATH"
76 echo "IAR_TOOLCHAIN_${IAR_VERSION//./_}=/opt/iarsystems/bxarm/arm/bin" >> "$GITHUB_ENV"
77 # TODO: activate license
79 - name: Activate Arm tool license
80 working-directory: ./CMSIS/Core/Test
82 . /home/runner/.vcpkg/vcpkg-init
84 if [[ -n "${{ env.ARM_UBL_ACTIVATION_CODE }}" ]]; then
85 armlm activate --code ${{ env.ARM_UBL_ACTIVATION_CODE }}
87 armlm activate --server https://mdk-preview.keil.arm.com --product KEMDK-COM0
90 - uses: ammaraskar/gcc-problem-matcher@master
93 working-directory: ./CMSIS/Core/Test
95 . /home/runner/.vcpkg/vcpkg-init
100 - name: Deactivate Arm tool license
102 working-directory: ./CMSIS/Core/Test
104 . /home/runner/.vcpkg/vcpkg-init
106 if [[ -n "${{ env.ARM_UBL_ACTIVATION_CODE }}" ]]; then
107 armlm deactivate --code ${{ env.ARM_UBL_ACTIVATION_CODE }}
109 armlm deactivate --product KEMDK-COM0
112 - name: Publish Test Results
113 if: ${{ !cancelled() && env.ARM_UBL_ACTIVATION_CODE }}
114 uses: EnricoMi/publish-unit-test-result-action@v2
116 report_individual_runs: true
117 files: ./CMSIS/Core/Test/*.xunit