diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index af9f67f..dd811f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,9 @@ name: CI on: + push: + branches: + - main pull_request: branches: - main @@ -59,7 +62,11 @@ jobs: - name: Install dependencies run: uv sync --locked --group dev - name: Unit + integration tests + coverage - run: uv run --no-sync pytest --cov --cov-report=term-missing + run: uv run --no-sync pytest --cov --cov-report=xml --cov-report=term-missing + - name: Upload coverage report to Codecov + uses: codecov/codecov-action@v7 + with: + token: ${{ secrets.CODECOV_TOKEN }} dbt-build: runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index da2435e..ef80b66 100644 --- a/.gitignore +++ b/.gitignore @@ -19,6 +19,7 @@ venv/ .mypy_cache/ .coverage .coverage.* +coverage.xml htmlcov/ # Runtime data (DuckDB warehouse) diff --git a/Taskfile.yml b/Taskfile.yml index 2f4afee..45ab7f3 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -55,7 +55,7 @@ tasks: test:coverage: desc: Run unit + integration tests with coverage report cmds: - - uv run pytest --cov --cov-report=term-missing + - uv run pytest --cov --cov-report=xml --cov-report=term-missing ci: desc: Run full CI check locally (mirrors GitHub Actions, excludes Docker build)