Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "Unit and integration tests"
name: "Unit and Integration Tests"

on:
push:
Expand All @@ -13,8 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- "3.12"
python-version: ["3.12"]

steps:
# Checkout code
Expand All @@ -28,25 +27,28 @@ jobs:
version: "latest"

# Set up Python
- name: "Set up Python"
run: uv python install "${{ matrix.python-version }}"
- name: "Set up Python ${{ matrix.python-version }}"
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

# Install dependencies
- name: "Install dependencies"
run: uv sync --all-extras

# Run all tests
# Run all tests with coverage
- name: "Run all tests"
run: |
echo "Running unit tests..."
uv run pytest tests/unit/ -v --tb=short
echo "Running integration tests (mocked - no real API calls)..."
uv run pytest tests/integration/ -v --tb=short
echo "Running unit and integration tests with coverage..."
uv run pytest tests/unit/ tests/integration/ \
--cov=. --cov-report=xml -v --tb=short

# Upload coverage reports
- name: "Upload coverage reports"
uses: codecov/codecov-action@v4
if: matrix.python-version == "3.12"
if: matrix.python-version == '3.12'
with:
file: ./coverage.xml
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
31 changes: 31 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
codecov:
require_ci_to_pass: yes
notify:
wait_for_ci: yes

coverage:
precision: 1
round: down
range: "80...100"
status:
project:
default:
target: 80%
threshold: 5%
patch:
default:
target: 80%
threshold: 5%

parsers:
gcov:
branch_detection:
conditional: yes
loop: yes
method: no
macro: no

comment:
layout: "diff,flags,footer"
behavior: default
require_changes: yes