You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
4 years ago
|
name: CMock Unit Tests
|
||
|
on: [push]
|
||
|
|
||
|
jobs:
|
||
|
run:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Checkout Parent Repo
|
||
|
uses: actions/checkout@v2
|
||
|
with:
|
||
|
ref: master
|
||
|
repository: FreeRTOS/FreeRTOS
|
||
|
submodules: 'recursive'
|
||
|
fetch-depth: 1
|
||
|
- name: Clone This Repo
|
||
|
uses: actions/checkout@v2
|
||
|
with:
|
||
|
path: ./FreeRTOS/Source
|
||
|
|
||
|
- name: Setup Python
|
||
|
uses: actions/setup-python@master
|
||
|
with:
|
||
|
python-version: 3.8
|
||
|
|
||
|
- name: Install packages
|
||
|
run: |
|
||
|
sudo apt-get install lcov cflow ruby doxygen build-essential
|
||
|
- name: Run Unit Tests with ENABLE_SANITIZER=1
|
||
|
run: |
|
||
|
make -C FreeRTOS/Test/CMock clean
|
||
|
make -C FreeRTOS/Test/CMock ENABLE_SANITIZER=1 run_col_formatted
|
||
|
- name: Run Unit Tests for coverage
|
||
|
run: |
|
||
|
make -C FreeRTOS/Test/CMock clean
|
||
|
make -C FreeRTOS/Test/CMock lcovhtml
|
||
|
lcov --config-file FreeRTOS/Test/CMock/lcovrc --summary FreeRTOS/Test/CMock/build/cmock_test.info > FreeRTOS/Test/CMock/build/cmock_test_summary.txt
|
||
|
- name: Upload coverage to Codecov
|
||
|
uses: codecov/codecov-action@v1
|
||
|
with:
|
||
|
files: FreeRTOS/Test/CMock/build/cmock_test.info
|
||
|
working-directory: .
|
||
|
root_dir: FreeRTOS/Source
|
||
|
flags: unittests
|
||
|
fail_ci_if_error: false
|
||
|
path_to_write_report: coverage/codecov_report.txt
|
||
|
verbose: false
|
||
|
- name: Archive code coverage data
|
||
|
uses: actions/upload-artifact@v2
|
||
|
with:
|
||
|
name: coverage-data
|
||
|
path: FreeRTOS/Test/CMock/build/cmock_test*
|
||
|
- name: Archive code coverage html report
|
||
|
uses: actions/upload-artifact@v2
|
||
|
with:
|
||
|
name: coverage-report
|
||
|
path: FreeRTOS/Test/CMock/build/coverage
|