system-prompts-and-models-o.../.github/workflows/dealix-ci.yml
Sami Assiri 1ceeea9004 feat(tier1): finalize production activation and revenue execution pack
Complete Tier-1 closure follow-through by wiring docs governance gates, RC release readiness checks, source-of-truth enforcement, executive weekly contract surface, and go-live severity notes.
Add full go-live revenue execution documentation set (production activation, real production playbook, trust expansion, first 3 clients, live deployment, and automated revenue engine) and register all canonical paths.

Made-with: Cursor
2026-04-17 14:13:57 +03:00

90 lines
2.7 KiB
YAML

# Runs when salesflow-saas/ changes (monorepo root)
name: Dealix CI
on:
push:
branches: [main]
paths:
- "salesflow-saas/**"
pull_request:
branches: [main]
paths:
- "salesflow-saas/**"
jobs:
backend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: salesflow-saas/backend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Monorepo constitution preflight (repo root)
working-directory: .
run: python scripts/architecture_brief.py
- name: Install dependencies
run: |
pip install -r requirements.txt -r requirements-dev.txt
- name: Pytest (full suite + launch scenarios)
env:
DATABASE_URL: sqlite+aiosqlite:///./ci_dealix.db
DEALIX_INTERNAL_API_TOKEN: ""
run: python -m pytest tests -q --tb=line
- name: OpenAPI vs frontend API paths
working-directory: salesflow-saas
env:
DATABASE_URL: sqlite+aiosqlite:///./openapi_verify.db
DEALIX_INTERNAL_API_TOKEN: ""
run: python scripts/verify_frontend_openapi_paths.py
- name: No-overclaim (repo governance)
working-directory: .
run: python scripts/check_no_overclaim.py
- name: Glossary consistency (contract names)
working-directory: .
run: python scripts/check_glossary_consistency.py
- name: Source of truth index (minimal)
working-directory: .
run: python scripts/check_source_of_truth_index.py
- name: Release readiness matrix structure
working-directory: .
run: python scripts/check_release_readiness_matrix.py
- name: Go-live gate (in-process CLI, fail-closed)
working-directory: salesflow-saas
env:
DATABASE_URL: sqlite+aiosqlite:///./go_live_gate_ci.db
DEALIX_INTERNAL_API_TOKEN: ""
DEALIX_CI_FAIL_ON_GO_LIVE: "1"
run: python scripts/check_go_live_gate.py
frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: salesflow-saas/frontend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: salesflow-saas/frontend/package-lock.json
- name: Install
run: npm ci
- name: Lint
run: npm run lint
- name: Build
run: npm run build
- name: Install Playwright Chromium
run: npx playwright install --with-deps chromium
- name: E2E smoke (auth shell)
env:
CI: true
run: npm run test:e2e