- Use /tmp/persistent-botserver instead of /opt/gbo/data
- Use /tmp/sccache and /tmp/cargo for caches
- Runner has full permissions on /tmp
- Fixes 'Operation not permitted' on chown
- Remove su - and sudo -u which require passwords
- Set HOME=/home/gbuser and USER=gbuser as env vars
- Run git/cargo with proper HOME prefix
- Fix runner hanging on authentication
- Move CI workspace to /home/gbuser/persistent-botserver
- Cache now in /home/gbuser/.cache and /home/gbuser/.cargo
- No more permission conflicts with /opt/gbo/data
- Replace sudo with su - gbuser -c for proper user switching
- Simplify permission handling with chown/chmod as root
- Use su - for all gbuser operations
- Use sudo -u gbuser for all git operations
- Add chown/chmod for cache directories
- Use git pull instead of fetch/reset for cleaner updates
- Ensure consistent gbuser ownership
1. CI: restart system container instead of just systemctl restart botserver
— ensures full env reload, Vault re-auth, DriveMonitor fresh state
2. Health endpoint: add 'commit' field with short git SHA
— build.rs passes BOTSERVER_COMMIT from CI via rustc-env
- Both /health and /api/health now report the running commit
3. WebSocket recv_task: spawn stream_response in separate tokio task
- prevents one hung LLM from freezing all message processing
- each WebSocket connection can now handle multiple messages
concurrently regardless of LLM latency
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add BOTSERVER_BUILD_DATE env var to /api/health response
- Set build date during CI compilation via environment variable
- Enables checking deployed binary age without SSH access
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- SSH to system container and clean unused workspaces
- Keep only botserver/target and active CI directories
- Clean alm-ci workspaces not used by botserver
- Free up disk space before compilation
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Restore botlib repository with --depth 1 fetch
- Restore gb-ws workspace from /opt/gbo/data/gb
- Use --depth 1 for all clone operations (faster)
- Build with --features chat flag
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- If /opt/gbo/data/botserver/.git exists, pull instead of clone
- Prevents 'destination already exists' errors from persistent directories
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove only /opt/gbo/data/botserver/.git to preserve workspace
- Avoids 'destination already exists' error on git clone
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Proper workspace setup with botlib and botserver repos
- Incremental git pull for sccache optimization
- Production deployment via SSH tarball
- Workspace: /opt/gbo/data
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>