Skip to content

Implement UC-003 EnrichWithAgent with Claude CLI adapter #29

Implement UC-003 EnrichWithAgent with Claude CLI adapter

Implement UC-003 EnrichWithAgent with Claude CLI adapter #29

Workflow file for this run

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff mypy
- name: Run ruff check
run: ruff check src tests
- name: Run ruff format check
run: ruff format --check src tests
type-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run mypy
run: mypy src
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: kb_engine
POSTGRES_PASSWORD: changeme
POSTGRES_DB: kb_engine_test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run unit tests
run: pytest -m unit --cov=kb_engine --cov-report=xml
- name: Upload coverage
uses: codecov/codecov-action@v4
with:
files: ./coverage.xml
fail_ci_if_error: false
integration-test:
runs-on: ubuntu-latest
needs: [lint, type-check, test]
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: kb_engine
POSTGRES_PASSWORD: changeme
POSTGRES_DB: kb_engine_test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
qdrant:
image: qdrant/qdrant:latest
ports:
- 6333:6333
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"
- name: Run integration tests
run: pytest -m integration
env:
DATABASE_URL: postgresql+asyncpg://kb_engine:changeme@localhost:5432/kb_engine_test
QDRANT_HOST: localhost
QDRANT_PORT: 6333