faais-k's picture
feat: phase 2 - state machine, AI orchestration gateway, and test suite
b126c08
name: CI (Lint & Test)
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
backend-lint-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Cache pip packages
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
restore-keys: ${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# Install CPU-only torch to avoid heavy CUDA downloads in CI
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install -r requirements.txt
pip install black isort
- name: Lint black (format check)
run: black --check --config pyproject.toml backend/app
- name: Lint isort (import order)
run: isort --check-only --settings-path pyproject.toml backend/app
- name: Run tests
run: pytest backend/tests -v --tb=short
env:
APP_STAGE: testing
LOG_LEVEL: ERROR
ADMIN_SECRET: ci_test_secret_32chars_xxxxxxxxxxxxxxxx
CLEANUP_SECRET: ci_test_secret_32chars_xxxxxxxxxxxxxxxx