# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: Codecov permissions: {} on: push: branches: - '*' pull_request: branches: - 'main' - 'release*' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: unit-tests: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Setup caches uses: ./.github/actions/setup-caches timeout-minutes: 5 continue-on-error: true with: build-cache-key: codecov - name: Setup build env uses: ./.github/actions/setup-build-env timeout-minutes: 10 with: free-disk-space: false - name: Generate Code Coverage Report run: make code-cov-report - name: Upload coverage uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 with: name: coverage.out path: coverage.out retention-days: 1 if-no-files-found: error upload-to-codecov: needs: - unit-tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 - name: Download coverage uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 with: name: coverage.out - name: Upload Report to Codecov uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # v4.3.1 with: files: ./coverage.out fail_ci_if_error: true verbose: true env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}