agnes-the-ai-analyst/.github/workflows/ci.yml
ZdenekSrotyr e0ce91ddb9 feat: add dataset permissions, script execution, Kamal config, CI/CD
- SyncSettingsRepository + DatasetPermissionRepository with RBAC
- Script deploy/run/undeploy API with import sandboxing
- User sync settings API with permission checks
- 4 CLI skills (connectors, security, notifications, corporate-memory)
- Kamal production + staging configs
- GitHub Actions CI + deploy workflows
- 91 total tests passing
2026-03-27 15:40:11 +01:00

45 lines
1.2 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Install dependencies
run: uv pip install --system -r requirements.txt
- name: Run unit tests
run: python -m pytest tests/test_db.py tests/test_repositories.py tests/test_migration.py tests/test_permissions.py tests/test_api.py tests/test_api_scripts.py tests/test_cli.py -v
env:
JWT_SECRET_KEY: ci-test-secret-32chars-minimum!!
docker-build:
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t data-analyst:test .
- name: Run Docker health check
run: |
docker run -d --name test-app -p 8000:8000 \
-e DATA_DIR=/data -e JWT_SECRET_KEY=ci-test-secret-32chars-minimum!! \
data-analyst:test
sleep 5
curl -f http://localhost:8000/api/health
docker stop test-app