learning_ai_common_plat/.windsurf/workflows/verify-all-backends.md
saravanakumardb1 ff97a372ac fix(workflows): convert hardcoded repo lists to read from repos.txt
audit-repo-health.md:
- All 9 steps now read from repos.txt dynamically
- Repos without relevant files (package.json, .dockerignore, etc.) are skipped
- No more manual maintenance when repos are added/removed

verify-all-backends.md:
- Remove duplicate learning_ai_notes entry
- Add learning_ai_efforise backend
- Add learning_ai_efforise client + learning_ai_local_llms dashboard to web checks

gitea-ci.md:
- Steps 3+4 read from repos.txt, skip repos without gitea remote
- Handle oss/ subdirectory repos via basename for Gitea API
2026-04-03 10:33:48 -07:00

113 lines
3.1 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_efforise:@efforise/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" \
"learning_ai_efforise:client" \
"learning_ai_local_llms:dashboard"; 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