tranth3truong's picture
Deploy public Scribe-only CarePath Space
cc678b9
Raw
History Blame Contribute Delete
4.97 kB
name: CI
on:
push:
pull_request:
jobs:
unified-api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install shared and API packages
run: python -m pip install -e ".[dev]" -e "./shared" -e "./interpreter[dev]"
- name: Scriber and combined-app tests
run: pytest
- name: Shared normalization characterization
run: python -m pytest shared/tests
- name: Regenerate term artifacts without drift
run: python scripts/build_term_artifacts.py && git diff --exit-code -- data/medical_lexicon.json interpreter/app/glossary/data/seed_glossary.csv
- name: Enforce serving/training import boundary
run: if rg -l 'from gec|import gec' scribe/carepath/; then exit 1; fi
- name: Scriber smoke test (mock ASR + offline LLM)
run: python scripts/smoke_backend.py
training-governance:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install CPU-only training proof dependencies
run: python -m pip install -e ".[dev]" -e "./shared"
- name: Test training governance and export smoke
run: python -m pytest scribe/training/tests
- name: Verify the committed frozen baseline report
run: python scribe/training/scripts/baseline_report.py
interpreter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install shared and interpreter
run: python -m pip install -e "./shared" -e "./interpreter[dev]"
- name: Lint interpreter
working-directory: interpreter
run: ruff check .
- name: Test interpreter
working-directory: interpreter
run: pytest
- name: Eval regression
run: python interpreter/eval/run_eval.py --set interpreter/eval/fixtures/eval_starter.tsv --providers mock
frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: interpreter/frontend/package-lock.json
- name: Install frontend
working-directory: interpreter/frontend
run: npm ci
- name: Lint frontend
working-directory: interpreter/frontend
run: npm run lint
- name: Test frontend
working-directory: interpreter/frontend
run: npm test
- name: Build frontend
working-directory: interpreter/frontend
run: npm run build
e2e:
runs-on: ubuntu-latest
needs: [interpreter, frontend]
env:
PROVIDER_MODE: mock
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: interpreter/frontend/package-lock.json
- name: Install shared and interpreter
run: python -m pip install -e "./shared" -e "./interpreter[dev]"
- name: Install frontend
working-directory: interpreter/frontend
run: npm ci
- name: Install Playwright browser
working-directory: interpreter/frontend
run: npx playwright install --with-deps chromium
- name: Run Playwright e2e
working-directory: interpreter/frontend
run: npx playwright test
site:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
cache-dependency-path: scribe/frontend/package-lock.json
- name: Install demo site
working-directory: scribe/frontend
run: npm ci
- name: Lint demo site
working-directory: scribe/frontend
run: npm run lint
- name: Test demo site
working-directory: scribe/frontend
run: npm test
- name: Test Vercel environment validation
working-directory: scribe/frontend
run: npm run test:deploy-env
- name: Build demo site
working-directory: scribe/frontend
run: npm run build
- name: Install Playwright browser
working-directory: scribe/frontend
run: npx playwright install --with-deps chromium
- name: Run demo site e2e
working-directory: scribe/frontend
run: npm run e2e
- name: Rebuild production demo site
working-directory: scribe/frontend
run: npm run build
- name: Audit demo site
working-directory: scribe/frontend
run: npm audit
- name: Run Lighthouse gates
working-directory: scribe/frontend
run: npm run lighthouse