Saibalaji Namburi
ci: use slim requirements-ci.txt and tee pytest output for visibility
728f02d
Raw
History Blame Contribute Delete
1.45 kB
name: CI/CD Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
lint-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install --extra-index-url https://download.pytorch.org/whl/cpu -r requirements-ci.txt
- name: Lint with Ruff
run: ruff check src/ tests/
- name: Run Unit Tests
env:
SUPABASE_URL: "https://mock-supabase.co"
SUPABASE_ANON_KEY: "mock-key"
SUPABASE_SERVICE_ROLE_KEY: "mock-role-key"
SUPABASE_DB_URL: "postgresql://postgres:postgres@localhost:5432/postgres"
LITELLM_MASTER_KEY: "mock-litellm-key"
OPENROUTER_API_KEY: "mock-openrouter-key"
UPSTASH_REDIS_URL: "redis://localhost:6379"
LANGFUSE_PUBLIC_KEY: "mock-lf-public"
LANGFUSE_SECRET_KEY: "mock-lf-secret"
APP_ENV: "test"
run: |
set -o pipefail
pytest --tb=short -v 2>&1 | tee pytest_failure.log
exit ${PIPESTATUS[0]}
- name: Upload Pytest Failure Log
if: failure()
uses: actions/upload-artifact@v4
with:
name: pytest-failure-log
path: pytest_failure.log
retention-days: 5