system-prompts-and-models-o.../.github/workflows/dealix-api-ci.yml
Sami Assiri 41ca5928ce test(ci): run tests/unit with quarantine conftest; align docs for positioning_lock
- Add dealix/tests/unit/conftest.py collect_ignore for legacy facade tests
- Remove --ignore=tests/unit from Dealix API CI (pytest runs full suite)
- Fix POSITIONING_LOCK bundles/modes + WhatsApp line for unit assertions
- Add Approval-first, PDPL, scraping markers to approved/prohibited/revenue docs
- companies.html meta: Approval-first for messaging gate tests

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-01 21:36:21 +03:00

103 lines
2.7 KiB
YAML

# Canonical CI for the Dealix API package (monorepo).
# GitHub only loads workflows from the repository root .github/workflows/.
# Three jobs so branch protection can require: pytest, smoke_inprocess, launch_readiness.
name: Dealix API CI
on:
push:
branches: [main, ai-company, dealix-v3-autonomous-revenue-os]
paths:
- "dealix/**"
- ".github/workflows/dealix-api-ci.yml"
pull_request:
branches: [main, ai-company, dealix-v3-autonomous-revenue-os]
paths:
- "dealix/**"
- ".github/workflows/dealix-api-ci.yml"
defaults:
run:
working-directory: dealix
env:
APP_ENV: test
APP_DEBUG: "false"
ANTHROPIC_API_KEY: test-anthropic-key
DEEPSEEK_API_KEY: test-deepseek-key
GROQ_API_KEY: test-groq-key
GLM_API_KEY: test-glm-key
GOOGLE_API_KEY: test-google-key
jobs:
pytest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
cache-dependency-path: dealix/requirements.txt
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest pytest-asyncio pytest-cov httpx aiosqlite
- name: Compile check
run: python -m compileall api auto_client_acquisition
- name: Tests
run: pytest -q --no-cov
- name: Embeddings pipeline placeholder
run: python scripts/embeddings_pipeline_placeholder.py
- name: Deterministic eval smoke
run: python scripts/run_evals.py
smoke_inprocess:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
cache-dependency-path: dealix/requirements.txt
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest pytest-asyncio httpx aiosqlite
- name: In-process API smoke
run: python scripts/smoke_inprocess.py
launch_readiness:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
cache-dependency-path: dealix/requirements.txt
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest pytest-asyncio httpx aiosqlite
- name: Launch readiness (GO_PRIVATE_BETA gate)
run: python scripts/launch_readiness_check.py