From 0ecae074c16c775a0ac60f22c84f7d337fe128f6 Mon Sep 17 00:00:00 2001 From: Marat Saidov Date: Tue, 3 Feb 2026 21:12:20 +0100 Subject: [PATCH 1/2] Add GitHub Actions CI with tests, coverage, and linting - Add ci.yml workflow that runs on push/PR to master and qwen2.5-coder - Test on Python 3.12 with pytest and coverage reporting - Run ruff linter (warnings only, doesn't fail build) - Add pytest-cov to dev dependencies Co-Authored-By: Claude Opus 4.5 --- .github/workflows/ci.yml | 33 +++++++++++++++++++++++++++++++++ pyproject.toml | 1 + 2 files changed, 34 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..a02d026 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,33 @@ +name: CI + +on: + push: + branches: [master, qwen2.5-coder] + pull_request: + branches: [master, qwen2.5-coder] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + cache: 'pip' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -e ".[dev]" + + - name: Run linter + run: python -m ruff check . + continue-on-error: true + + - name: Run tests with coverage + run: | + python -m pytest tests/ -v --tb=short --cov=src --cov-report=term-missing diff --git a/pyproject.toml b/pyproject.toml index 4778490..8bd2fa4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,7 @@ dependencies = [ [project.optional-dependencies] dev = [ "pytest>=7.0", + "pytest-cov>=4.0", "ruff>=0.1.0", "httpx>=0.24.0", ] From 54e85f189ae7fdde14c75c19a63bb5bfd14b825f Mon Sep 17 00:00:00 2001 From: Marat Saidov Date: Tue, 3 Feb 2026 21:13:27 +0100 Subject: [PATCH 2/2] Add Codecov integration for coverage reporting - Generate XML coverage report for Codecov - Upload coverage using codecov-action@v4 - Requires CODECOV_TOKEN secret in repository settings Co-Authored-By: Claude Opus 4.5 --- .github/workflows/ci.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a02d026..bce6017 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,4 +30,12 @@ jobs: - name: Run tests with coverage run: | - python -m pytest tests/ -v --tb=short --cov=src --cov-report=term-missing + python -m pytest tests/ -v --tb=short --cov=src --cov-report=term-missing --cov-report=xml + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: ./coverage.xml + fail_ci_if_error: false + verbose: true