learning_ai_common_plat/.windsurf/workflows/verify-all-backends.md
saravanakumardb1 1d2003a30f feat(workflows): add docker-smoke-test, audit-repo-health, verify-all-backends
- /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)
2026-03-22 22:19:08 -07:00

3.0 KiB

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)

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.

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.

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