2 on: [push, pull_request]
8 - name: Checkout Parent Repository
9 uses: actions/checkout@v4.1.1
12 repository: FreeRTOS/FreeRTOS
13 submodules: 'recursive'
16 # Checkout user pull request changes
17 - name: Checkout Pull Request
18 uses: actions/checkout@v4.1.1
20 path: ./FreeRTOS/Source
23 uses: actions/setup-python@master
27 - name: Install packages
29 sudo apt-get install lcov cflow ruby doxygen build-essential unifdef
30 - name: Run Unit Tests with ENABLE_SANITIZER=1
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
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
42 files: ${{ github.workspace }}/FreeRTOS/Test/CMock/build/cmock_test.info
43 root_dir: ${{ github.workspace }}/FreeRTOS/Source
45 fail_ci_if_error: false
47 - name: Archive code coverage data
48 uses: actions/upload-artifact@v4
51 path: FreeRTOS/Test/CMock/build/cmock_test*
52 - name: Archive code coverage html report
53 uses: actions/upload-artifact@v4
56 path: FreeRTOS/Test/CMock/build/coverage