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:
Zihao Xu
2026-01-19 04:47:26 -08:00
committed by GitHub
parent daa7a20679
commit ee2964e151

View File

@@ -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