vn6295337's picture
feat: Harden API, pin dependencies, and enable pytest CI gate
e926e7e
Raw
History Blame Contribute Delete
1.2 kB
name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
backend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
- name: Install dependencies
run: pip install -r requirements.txt flake8 pytest
- name: Lint (critical errors only)
run: flake8 src --select=E9,F63,F7,F82 --show-source
- name: Unit tests
run: python -m pytest tests -q
- name: Import smoke test
run: python -c "from src.api.app import app; from src.workflow.graph import app as graph_app; print('imports OK')"
frontend:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
cache-dependency-path: frontend/package-lock.json
- name: Install dependencies
run: npm ci --legacy-peer-deps
- name: Lint
continue-on-error: true
run: npm run lint
- name: Build
run: npm run build