| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| 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: Install dependencies | |
| run: | | |
| pip install --upgrade pip | |
| pip install pytest pytest-asyncio pyyaml requests jinja2 pydantic fastapi httpx aiofiles | |
| - name: Check all Python files compile | |
| run: | | |
| python -m py_compile app.py | |
| python -m py_compile agents/coordinator.py | |
| python -m py_compile agents/stream.py | |
| python -m py_compile agents/judge.py | |
| python -m py_compile agents/adversarial_designer.py | |
| python -m py_compile agents/approval.py | |
| python -m py_compile agents/circuit_breaker.py | |
| python -m py_compile agents/correlator.py | |
| python -m py_compile agents/audit.py | |
| python -m py_compile config/runtime.py | |
| python -m py_compile bench/runner.py | |
| python -m py_compile scripts/release_gate.py | |
| python -m py_compile inference.py | |
| echo "All files compile OK" | |
| - name: Run chaos manifest validation tests | |
| run: pytest tests/test_chaos_manifests.py -v | |
| - name: Run safety guardrail unit tests | |
| run: pytest tests/test_approval.py tests/test_circuit_breaker.py tests/test_correlator.py tests/test_audit.py -v | |
| - name: Run tool + coordinator unit tests (mocked) | |
| run: pytest tests/test_tools.py tests/test_coordinator.py -v | |
| - name: Run app endpoint smoke tests (mocked) | |
| run: pytest tests/test_app_endpoints.py tests/test_bench_runner.py -v | |