# Manual CI Instructions

> **GitHub Actions are temporarily disabled** due to billing issues. Please run these manual quality checks before merging code.

## Why CI is Disabled

GitHub Actions are currently disabled because:

- Account billing issues/spending limit reached
- Self-hosted runner setup in progress (see scripts/azure-runner-setup.sh)
- Cost optimization measures being implemented

## Manual Quality Check Workflow

### Quick Pre-push Checklist (5 minutes)

```bash
# 1. Type-check
pnpm typecheck

# 2. Lint
pnpm lint

# 3. Format check
pnpm format:check

# 4. Run tests
pnpm test

# If any fail, fix and commit before pushing!
```

### Full Quality Check (15-20 minutes)

Use the production-readiness workflow: `.windsurf/workflows/production-readiness.md`

### Per-Repository Instructions

#### learning_ai_common_plat

```bash
cd /path/to/learning_ai_common_plat

# Build all packages
pnpm build

# Full check suite
pnpm typecheck && pnpm lint && pnpm format:check && pnpm test && pnpm audit
```

#### learning_voice_ai_agent (LysnrAI)

```bash
cd /path/to/learning_voice_ai_agent

# User dashboard (only one remaining in this repo)
cd user-dashboard-web && npm run typecheck && npm run lint && npm test

# Admin + Tracker dashboards now in learning_ai_common_plat/dashboards/
cd /path/to/learning_ai_common_plat/dashboards/admin-web && npm run typecheck && npm run lint && npm test
cd ../tracker-web && npm run typecheck && npm run lint && npm test

# Python
make lint && python -m pytest tests/ backend/tests/
```

#### learning_multimodal_memory_agents (MindLyst)

```bash
cd /path/to/learning_multimodal_memory_agents/mindlyst-native

# KMP compile
./gradlew :shared:compileKotlinIosSimulatorArm64

# Web
cd web && npm run build && npm run lint

# Tests
./gradlew test
```

## When to Run Full Checks

- **Before creating a PR**: Always run quick checklist
- **Before merging to main**: Run full quality check
- **After major changes**: Run full check for affected repo
- **Weekly**: Run full check across all repos to catch drift

## Re-enabling CI

CI will be re-enabled when:

1. Billing issues are resolved, OR
2. Self-hosted runners are fully operational

To re-enable:

```bash
# In each repo
mv .github/workflows/ci.yml.disabled .github/workflows/ci.yml
rm .github/workflows/disabled.yml
git add .github/workflows/
git commit -m "ci: re-enable GitHub Actions"
git push
```

## Troubleshooting

### Corporate Proxy Issues

If you encounter SSL/certificate errors:

```bash
# For Gradle (MindLyst)
export GRADLE_OPTS="-Dtrust_all_cert=true"

# For npm/pnpm
npm config set strict-ssl false
```

### Memory Issues

- Close unused applications
- Run checks sequentially instead of parallel
- Use `--max-old-space-size=4096` for Node.js if needed

## Automation Options (While CI is Disabled)

### Git Hooks

Install pre-commit hooks to run basic checks:

```bash
# In each repo
npm install -g husky
npx husky install
npx husky add .husky/pre-commit "pnpm typecheck && pnpm lint"
```

### Local GitHub Actions Runner

If you have a local machine:

```bash
# Install GitHub Actions runner
# Follow: https://docs.github.com/en/actions/hosting-your-own-runners
```

## Questions?

Contact the team or check:

- `.windsurf/workflows/production-readiness.md` for comprehensive checks
- `.windsurf/workflows/mobile-code-quality.md` for mobile-specific checks
- Repo-specific README files for additional instructions
