build prospect intelligence platform MVP

This commit is contained in:
Marco0300
2026-09-02 17:38:50 +02:00
commit 44be4efc82
29 changed files with 973 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
name: CI
on:
push:
pull_request:
permissions:
contents: read
jobs:
compose:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate Compose configuration
run: docker compose config
- name: Compile stdlib container code
run: python3 -m compileall -q apps/api apps/web
- name: Run API tests
run: python3 -m unittest discover -s apps/api/tests -t apps/api
- name: Build images
run: docker compose build
- name: Start services
run: docker compose up -d
- name: Wait for healthy services and smoke test
run: |
set -eu
for i in $(seq 1 30); do
api_status=$(docker inspect --format '{{.State.Health.Status}}' "$(docker compose ps -q api)")
web_status=$(docker inspect --format '{{.State.Health.Status}}' "$(docker compose ps -q web)")
if [ "$api_status" = healthy ] && [ "$web_status" = healthy ]; then
curl --fail http://localhost:8000/api/v1/health/live
curl --fail http://localhost:8080/healthz
exit 0
fi
sleep 2
done
docker compose ps
docker compose logs
exit 1
- name: Tear down
if: always()
run: docker compose down -v