ci: add coverage reporting, 60% threshold, and Codecov integration (#53)
- Add pytest-cov to CI dependencies - Generate coverage report (xml + terminal) - Set minimum coverage threshold to 60% (current: 63%, target: 90%) - Upload coverage to Codecov - Add 10 minute timeout Closes #46, closes #47, closes #48
This commit is contained in:
14
.github/workflows/test.yml
vendored
14
.github/workflows/test.yml
vendored
@@ -9,6 +9,7 @@ on:
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -27,7 +28,14 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
uv pip install --system -r requirements.txt
|
||||
uv pip install --system pytest
|
||||
uv pip install --system pytest pytest-cov
|
||||
|
||||
- name: Run tests
|
||||
run: pytest -v
|
||||
- name: Run tests with coverage
|
||||
run: pytest -v --cov=src --cov-report=xml --cov-report=term --cov-fail-under=60
|
||||
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
files: ./coverage.xml
|
||||
fail_ci_if_error: false
|
||||
token: ${{ secrets.CODECOV_TOKEN }} # Optional for public repos, but recommended
|
||||
|
||||
Reference in New Issue
Block a user