# 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