feat(infra): add load testing + finalize CI/CD for Go and Hono services

Load testing:
- k6 test suite for mana-sync (HTTP sync, WebSocket stress, mixed)
- 3 scenarios: mixed workload, WebSocket-only, sync throughput
- Custom metrics: push/pull latency, WS connect time, conflict count

CI/CD:
- Add 6 missing services to ci.yml: mana-sync, mana-notify,
  mana-api-gateway, mana-crawler, mana-media, mana-credits
- Add same services to cd-macmini.yml for auto-deploy
- Add mana-sync + mana-media to docker-validate.yml
- Go services trigger on shared-go/ changes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-28 18:22:33 +01:00
parent 1cb48b797a
commit 92557ee835
6 changed files with 642 additions and 8 deletions

View file

@ -82,11 +82,13 @@ jobs:
# Job 2: Build representative Docker images
# ===========================================
# Builds a subset that covers all shared packages:
# - mana-auth: covers auth service (Hono + Bun)
# - mana-auth: covers Hono + Bun service pattern
# - mana-sync: covers Go service pattern
# - mana-media: covers Hono + Bun with Sharp/BullMQ
# - todo-web: covers most shared-* web packages
# - zitare-web: covers content packages, shared-pwa
# - calendar-web: covers calendar shared packages
# - todo-backend: covers NestJS backend pattern + shared packages
# - todo-backend: covers app backend pattern
# ===========================================
build-docker-images:
name: Build ${{ matrix.service }}
@ -100,6 +102,12 @@ jobs:
- service: mana-auth
dockerfile: services/mana-auth/Dockerfile
context: .
- service: mana-sync
dockerfile: services/mana-sync/Dockerfile
context: .
- service: mana-media
dockerfile: services/mana-media/apps/api/Dockerfile
context: services/mana-media/apps/api
- service: todo-backend
dockerfile: apps/todo/apps/backend/Dockerfile
context: .