name: Run tests and upload coverage on: push jobs: test: name: Run tests and collect coverage runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v4 - name: Install dependencies run: pip install pytest pytest-cov - name: Run tests run: pytest --cov --cov-report=xml - name: Upload results to Codecov uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }}