mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 11:09:01 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: CMock Unit Tests
 | 
						|
on: [push, pull_request]
 | 
						|
 | 
						|
jobs:
 | 
						|
  run:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
    - name: Checkout Parent Repository
 | 
						|
      uses: actions/checkout@v4.1.1
 | 
						|
      with:
 | 
						|
        ref: main
 | 
						|
        repository: FreeRTOS/FreeRTOS
 | 
						|
        submodules: 'recursive'
 | 
						|
        fetch-depth: 1
 | 
						|
 | 
						|
    # Checkout user pull request changes
 | 
						|
    - name: Checkout Pull Request
 | 
						|
      uses: actions/checkout@v4.1.1
 | 
						|
      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 unifdef
 | 
						|
    - 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@v3.1.0
 | 
						|
      with:
 | 
						|
        files: ${{ github.workspace }}/FreeRTOS/Test/CMock/build/cmock_test.info
 | 
						|
        root_dir: ${{ github.workspace }}/FreeRTOS/Source
 | 
						|
        flags: unittests
 | 
						|
        fail_ci_if_error: false
 | 
						|
        verbose: false
 | 
						|
    - name: Archive code coverage data
 | 
						|
      uses: actions/upload-artifact@v4
 | 
						|
      with:
 | 
						|
        name: coverage-data
 | 
						|
        path: FreeRTOS/Test/CMock/build/cmock_test*
 | 
						|
    - name: Archive code coverage html report
 | 
						|
      uses: actions/upload-artifact@v4
 | 
						|
      with:
 | 
						|
        name: coverage-report
 | 
						|
        path: FreeRTOS/Test/CMock/build/coverage
 |