2 on: [push, pull_request]
8 - name: Checkout Parent Repository
9 uses: actions/checkout@v2
12 repository: FreeRTOS/FreeRTOS
13 submodules: 'recursive'
15 - name: Clone This Repo
16 uses: actions/checkout@v2
18 path: ./FreeRTOS/Source
21 uses: actions/setup-python@master
25 - name: Install packages
27 sudo apt-get install lcov cflow ruby doxygen build-essential unifdef
28 - name: Run Unit Tests with ENABLE_SANITIZER=1
30 make -C FreeRTOS/Test/CMock clean
31 make -C FreeRTOS/Test/CMock ENABLE_SANITIZER=1 run_col_formatted
32 - name: Run Unit Tests for coverage
34 make -C FreeRTOS/Test/CMock clean
35 make -C FreeRTOS/Test/CMock lcovhtml
36 lcov --config-file FreeRTOS/Test/CMock/lcovrc --summary FreeRTOS/Test/CMock/build/cmock_test.info > FreeRTOS/Test/CMock/build/cmock_test_summary.txt
37 - name: Upload coverage to Codecov
38 uses: codecov/codecov-action@v3.1.0
40 files: ${{ github.workspace }}/FreeRTOS/Test/CMock/build/cmock_test.info
41 root_dir: ${{ github.workspace }}/FreeRTOS/Source
43 fail_ci_if_error: false
45 - name: Archive code coverage data
46 uses: actions/upload-artifact@v2
49 path: FreeRTOS/Test/CMock/build/cmock_test*
50 - name: Archive code coverage html report
51 uses: actions/upload-artifact@v2
54 path: FreeRTOS/Test/CMock/build/coverage