# Forgejo CI/CD Status **Status**: ❌ DISABLED (Forgejo runners unavailable) ## Why CI is disabled 1. **Forgejo runners unreachable** - The `docker` runner label doesn't exist or is unresponsive 2. **Race conditions** - Multiple workflow directories (`.gitea` + `.forgejo`) competing 3. **Hidden timeouts** - Third-party actions (buildx, login-action) cause indefinite hangs ## Solution: Manual Build Process Use the manual build script instead: ```bash cd ~/workplace/Poimen/memory export REGISTRY_TOKEN='' ./scripts/build-and-push.sh ``` The script: - ✅ Checks all dependencies - ✅ Builds Docker image locally - ✅ Tags with: `latest` + `short-SHA` - ✅ Pushes to registry - ✅ Handles errors gracefully - ✅ Proper cleanup (logout) ## Re-enable CI Later When Forgejo runners are fixed: ```bash # Create a minimal, reliable workflow git checkout HEAD -- .forgejo/ # Or manually restore from git history ``` ## Files Removed - `.forgejo/workflows/build.yaml` (was hanging) - `.forgejo/workflows/TEMPLATE.md` (unused) - `.gitea/workflows/*` (removed in earlier commit) ## Current Setup - **CI Auto**: NONE (no workflows active) - **Manual Build**: READY (`./scripts/build-and-push.sh`) - **Docker**: READY (Dockerfile multi-stage Rust build) - **Code Quality**: ✅ 236 tests passing, clean compilation ## Production Build ```bash #!/bin/bash set -e cd ~/workplace/Poimen/memory # 1. Verify tests pass cargo test --lib --all # 2. Build release binary cargo build --release # 3. Build and push Docker image export REGISTRY_TOKEN=$(grep REGISTRY_TOKEN ~/.vault) ./scripts/build-and-push.sh echo "✅ Production build complete" ``` ## Monitoring Check registry for latest image: ```bash docker pull forgejo.riotpiao.com/rock/poimen-memory:latest docker run -p 8080:8080 forgejo.riotpiao.com/rock/poimen-memory:latest curl http://localhost:8080/health ```