- /docker-smoke-test: prep, build, verify all Dockerfiles in a repo - /audit-repo-health: cross-repo pnpm/Docker/config consistency audit - /verify-all-backends: quick local typecheck+test+build (complement to /gitea-ci)
111 lines
3.0 KiB
Markdown
111 lines
3.0 KiB
Markdown
---
|
|
description: Quick local typecheck + test + build across all product backends (fast complement to /gitea-ci)
|
|
---
|
|
|
|
# Verify All Backends (Local)
|
|
|
|
Run typecheck, test, and build across all product backends locally — without needing Gitea.
|
|
Use this for fast pre-push validation. For full CI verification, use `/gitea-ci` instead.
|
|
|
|
**When to use:**
|
|
|
|
- After modifying a `@bytelyst/*` shared package
|
|
- Before a bulk push to all repos
|
|
- Quick health check without waiting for Gitea runner queue
|
|
|
|
## 1. Build common-plat packages first (dependency for all backends)
|
|
|
|
```bash
|
|
cd /Users/sd9235/code/mygh/learning_ai_common_plat && pnpm build
|
|
```
|
|
|
|
## 2. Verify all product backends
|
|
|
|
Run typecheck + test + build for each backend. Stops on first failure.
|
|
|
|
```bash
|
|
REPOS_DIR="/Users/sd9235/code/mygh"
|
|
PASSED=0
|
|
FAILED=0
|
|
FAILURES=""
|
|
|
|
for entry in \
|
|
"learning_ai_notes:@notelett/backend" \
|
|
"learning_ai_local_memory_gpt:@localmemgpt/backend" \
|
|
"learning_ai_trails:@actiontrail/backend" \
|
|
"learning_ai_fastgap:@nomgap/backend" \
|
|
"learning_ai_clock:@chronomind/backend" \
|
|
"learning_ai_jarvis_jr:@jarvisjr/backend" \
|
|
"learning_ai_peakpulse:@peakpulse/backend" \
|
|
"learning_voice_ai_agent:@lysnrai/backend" \
|
|
"learning_ai_flowmonk:@flowmonk/backend" \
|
|
"learning_ai_notes:@notelett/backend"; do
|
|
|
|
repo="${entry%%:*}"
|
|
filter="${entry##*:}"
|
|
echo ""
|
|
echo "━━━ $repo ($filter) ━━━"
|
|
|
|
cd "$REPOS_DIR/$repo"
|
|
if pnpm --filter "$filter" run typecheck 2>&1 | tail -3 && \
|
|
pnpm --filter "$filter" run test 2>&1 | tail -5 && \
|
|
pnpm --filter "$filter" run build 2>&1 | tail -3; then
|
|
echo "✅ $repo PASSED"
|
|
PASSED=$((PASSED + 1))
|
|
else
|
|
echo "❌ $repo FAILED"
|
|
FAILED=$((FAILED + 1))
|
|
FAILURES="$FAILURES\n - $repo"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo "✅ Passed: $PASSED"
|
|
echo "❌ Failed: $FAILED"
|
|
if [ -n "$FAILURES" ]; then
|
|
echo -e "Failures:$FAILURES"
|
|
fi
|
|
```
|
|
|
|
## 3. (Optional) Verify all web apps too
|
|
|
|
Web builds take longer. Only run if you suspect web-side breakage.
|
|
|
|
```bash
|
|
REPOS_DIR="/Users/sd9235/code/mygh"
|
|
|
|
for entry in \
|
|
"learning_ai_notes:@notelett/web" \
|
|
"learning_ai_local_memory_gpt:@localmemgpt/web" \
|
|
"learning_ai_trails:@actiontrail/web" \
|
|
"learning_ai_fastgap:@nomgap/web" \
|
|
"learning_ai_clock:web" \
|
|
"learning_ai_jarvis_jr:jarvisjr-web" \
|
|
"learning_voice_ai_agent:user-dashboard-web" \
|
|
"learning_ai_flowmonk:@flowmonk/web"; do
|
|
|
|
repo="${entry%%:*}"
|
|
filter="${entry##*:}"
|
|
echo ""
|
|
echo "━━━ $repo web ($filter) ━━━"
|
|
|
|
cd "$REPOS_DIR/$repo"
|
|
if pnpm --filter "$filter" run typecheck 2>&1 | tail -3 && \
|
|
pnpm --filter "$filter" run build 2>&1 | tail -5; then
|
|
echo "✅ $repo web PASSED"
|
|
else
|
|
echo "❌ $repo web FAILED"
|
|
fi
|
|
done
|
|
```
|
|
|
|
## 4. After fixing issues
|
|
|
|
If any backend/web failed:
|
|
|
|
1. Fix the issue in the affected repo
|
|
2. Re-run the failing step only to confirm
|
|
3. Commit with: `fix(scope): description`
|
|
4. Run `/gitea-ci` for full CI verification
|