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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

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

      - name: Upload code coverage
        uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          file: ./src/valkey.info
