]> begriffs open source - freertos/blob - .github/workflows/unit-tests.yml
FreeRTOS MPU: Remove MPU region number check (#1261)
[freertos] / .github / workflows / unit-tests.yml
1 name: CMock Unit Tests
2 on: [push, pull_request]
3
4 jobs:
5   run:
6     runs-on: ubuntu-20.04
7     steps:
8     - name: Checkout Parent Repository
9       uses: actions/checkout@v4.1.1
10       with:
11         ref: main
12         repository: FreeRTOS/FreeRTOS
13         submodules: 'recursive'
14         fetch-depth: 1
15
16     # Checkout user pull request changes
17     - name: Checkout Pull Request
18       uses: actions/checkout@v4.1.1
19       with:
20         path: ./FreeRTOS/Source
21
22     - name: Setup Python
23       uses: actions/setup-python@master
24       with:
25         python-version: 3.8
26
27     - name: Install packages
28       run: |
29           sudo apt-get install lcov cflow ruby doxygen build-essential unifdef
30     - name: Run Unit Tests with ENABLE_SANITIZER=1
31       run: |
32           make -C FreeRTOS/Test/CMock clean
33           make -C FreeRTOS/Test/CMock ENABLE_SANITIZER=1 run_col_formatted
34     - name: Run Unit Tests for coverage
35       run: |
36           make -C FreeRTOS/Test/CMock clean
37           make -C FreeRTOS/Test/CMock lcovhtml
38           lcov --config-file FreeRTOS/Test/CMock/lcovrc --summary FreeRTOS/Test/CMock/build/cmock_test.info > FreeRTOS/Test/CMock/build/cmock_test_summary.txt
39     - name: Upload coverage to Codecov
40       uses: codecov/codecov-action@v3.1.0
41       with:
42         files: ${{ github.workspace }}/FreeRTOS/Test/CMock/build/cmock_test.info
43         root_dir: ${{ github.workspace }}/FreeRTOS/Source
44         flags: unittests
45         fail_ci_if_error: false
46         verbose: false
47     - name: Archive code coverage data
48       uses: actions/upload-artifact@v4
49       with:
50         name: coverage-data
51         path: FreeRTOS/Test/CMock/build/cmock_test*
52     - name: Archive code coverage html report
53       uses: actions/upload-artifact@v4
54       with:
55         name: coverage-report
56         path: FreeRTOS/Test/CMock/build/coverage