mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 22:09:39 +02:00
feat(cutover): platform services build from ../mana, not from this repo
Part of the 8-Doppel-Cutover (2026-05-08, plan
~/.claude/plans/floating-swinging-flurry.md):
- docker-compose.{macmini,dev,test}.yml: build context for
mana-{auth,credits,media,llm,notify} switched to ../mana/services/...
so the Mac Mini stack pulls platform services from the platform repo
(sibling clone), not from services/ in this monorepo.
- .npmrc + apps/api/{Dockerfile,package.json}: @mana/media-client now
resolved from Verdaccio (npm.mana.how, ^0.1.0) instead of as a
workspace COPY from services/mana-media/packages/client. Build-arg
NPM_TOKEN flows through .npmrc for pnpm install auth. Required
before services/mana-media/ can be deleted.
- .github/workflows/{ci,cd-macmini,daily-tests}.yml: removed the
detect-/build-/test-jobs that targeted services/mana-{auth,credits,
notify,media}/. Those services build out of the platform repo now —
CI for them belongs in mana/-repo (open). cd-macmini's
workflow_dispatch can still rebuild any of them on demand;
auto-detect on path-change is gone for these five.
- scripts/{mac-mini/push-schemas.sh,run-integration-tests.sh}:
rewritten to look in ../mana/ for the platform services.
- package.json dev:{auth,credits,notify,media}: paths point at
../mana/services/... so local dev still works post-cutover.
What this commit does NOT do: delete services/mana-{auth,credits,...}
from this repo. That waits for Phase 7 once the Mac Mini stack has
booted cleanly from the new build paths.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
7b362066bb
commit
774852ba2d
12 changed files with 76 additions and 363 deletions
175
.github/workflows/ci.yml
vendored
175
.github/workflows/ci.yml
vendored
|
|
@ -303,90 +303,20 @@ jobs:
|
|||
fi
|
||||
|
||||
# ===========================================
|
||||
# Auth flow integration test
|
||||
# NOTE 2026-05-08 — Plattform-Service-Tests/Builds (mana-auth,
|
||||
# mana-credits, mana-mail, mana-media, mana-llm, mana-notify, mana-stt,
|
||||
# mana-tts) leben jetzt im Schwester-Repo `mana/` und sind dort zu
|
||||
# testen + zu bauen. Der frühere `auth-integration`-Job und
|
||||
# `build-mana-{auth,notify,media,credits}` wurden entfernt, weil sie
|
||||
# `services/mana-<x>/` aus diesem Repo erwarteten — diese Verzeichnisse
|
||||
# gibt es ab Phase 7 nicht mehr. Offener Punkt: eigene CI im
|
||||
# `mana/`-Repo aufsetzen (mit auth-integration + Build-Push).
|
||||
# ===========================================
|
||||
# Spins up postgres + redis + mailpit + mana-auth + mana-notify via
|
||||
# docker-compose.test.yml and runs tests/integration/auth-flow.test.ts.
|
||||
# Catches register/verify/login/JWT/encryption-vault regressions before
|
||||
# they can be merged. Required check — never bypass.
|
||||
|
||||
auth-integration:
|
||||
name: Auth flow integration test
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'pull_request'
|
||||
timeout-minutes: 15
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup pnpm
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: ${{ env.PNPM_VERSION }}
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Setup Bun
|
||||
uses: oven-sh/setup-bun@v2
|
||||
with:
|
||||
bun-version: latest
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Run auth flow integration test
|
||||
run: ./scripts/run-integration-tests.sh
|
||||
|
||||
- name: Dump test stack logs on failure
|
||||
if: failure()
|
||||
run: |
|
||||
echo "::group::mana-auth logs"
|
||||
docker logs mana-test-mana-auth 2>&1 | tail -200 || true
|
||||
echo "::endgroup::"
|
||||
echo "::group::mana-notify logs"
|
||||
docker logs mana-test-mana-notify 2>&1 | tail -200 || true
|
||||
echo "::endgroup::"
|
||||
echo "::group::mailpit messages"
|
||||
curl -s http://localhost:8026/api/v1/messages | head -100 || true
|
||||
echo "::endgroup::"
|
||||
|
||||
# ===========================================
|
||||
# Build Docker images - only changed services
|
||||
# ===========================================
|
||||
|
||||
build-mana-auth:
|
||||
name: Build mana-auth
|
||||
runs-on: ubuntu-latest
|
||||
needs: detect-changes
|
||||
if: needs.detect-changes.outputs.mana-auth == 'true'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
- uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: ghcr.io/${{ github.repository_owner }}/mana-auth
|
||||
tags: type=raw,value=latest
|
||||
- uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: services/mana-auth/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
build-mana-search:
|
||||
name: Build mana-search
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -446,35 +376,6 @@ jobs:
|
|||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
build-mana-notify:
|
||||
name: Build mana-notify
|
||||
runs-on: ubuntu-latest
|
||||
needs: detect-changes
|
||||
if: needs.detect-changes.outputs.mana-notify == 'true'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
- uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: ghcr.io/${{ github.repository_owner }}/mana-notify
|
||||
tags: type=raw,value=latest
|
||||
- uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
file: services/mana-notify/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
build-mana-api-gateway:
|
||||
name: Build mana-api-gateway
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -534,60 +435,6 @@ jobs:
|
|||
cache-to: type=gha,mode=max
|
||||
|
||||
# Hono/Bun services
|
||||
build-mana-media:
|
||||
name: Build mana-media
|
||||
runs-on: ubuntu-latest
|
||||
needs: detect-changes
|
||||
if: needs.detect-changes.outputs.mana-media == 'true'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
- uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: ghcr.io/${{ github.repository_owner }}/mana-media
|
||||
tags: type=raw,value=latest
|
||||
- uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: services/mana-media/apps/api
|
||||
file: services/mana-media/apps/api/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
|
||||
build-mana-credits:
|
||||
name: Build mana-credits
|
||||
runs-on: ubuntu-latest
|
||||
needs: detect-changes
|
||||
if: needs.detect-changes.outputs.mana-credits == 'true'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-buildx-action@v3
|
||||
- uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: docker/metadata-action@v5
|
||||
id: meta
|
||||
with:
|
||||
images: ghcr.io/${{ github.repository_owner }}/mana-credits
|
||||
tags: type=raw,value=latest
|
||||
- uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: services/mana-credits
|
||||
file: services/mana-credits/Dockerfile
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
# NOTE 2026-05-08 — `build-mana-media` und `build-mana-credits` sind
|
||||
# entfallen: Plattform-Services leben jetzt im Schwester-Repo `mana/`.
|
||||
# Build-Push gehört in eine separate CI dort. Siehe Header oben.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue