name: "Codecov"

# Enabling on each push is to display the coverage changes in every PR, 
# where each PR needs to be compared against the coverage of the head commit
on: [push, pull_request]

concurrency:
  group: codecov-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

jobs:
  code-coverage:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Install lcov and run test
        run: |
          sudo apt-get install lcov
          make lcov

      - name: Upload code coverage
        uses: codecov/codecov-action@v4
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          file: ./src/valkey.info
