- Se botserver/Cargo.toml não existir, refaz clone do gb
- Usa git reset --hard após pull para garantir sincronização
- Clona botserver e botlib diretamente se submodule falhar
- Remove Cargo.toml.bak do logging para simplificar
- Hash buster v9 força reavaliação completa
- Foco: garantir que Cargo.toml do workspace exista
- Se git submodule falhar, faz clone direto do repositório
- Verifica se botserver/Cargo.toml existe após tentativa de init
- Fallback: git clone --depth 1 se submodule falhar
- Prepara Cargo.toml do workspace removendo members desnecessários
- Adiciona logging extensivo para debug
- Hash buster v8 força reavaliação completa
- Clone APENAS botserver e botlib (não todos os submodules)
- Remove --recursive para evitar clone desnecessário
- Inicializa submodules individualmente com --depth 1
- Adiciona logging para verificar estrutura após clone
- Reduz tempo de CI de ~5min para ~1min
- Hash buster v7 força reavaliação
- Repositório raiz é 'gb' (não 'botserver')
- Usa 'git submodule update --init' para sincronizar submodules
- Build usa 'cargo build -p botserver' (workspace mode)
- Cargo.toml do workspace fica em /opt/gbo/work/botserver/
- Código do botserver fica em /opt/gbo/work/botserver/botserver/
- Adiciona logging para debug do Cargo.toml
- Hash buster v6 força reavaliação completa
- Adiciona verificação se repositório existe antes de pull
- Se não existir, inicializa com git init + fetch (clone alternativo)
- Adiciona verificação de Cargo.toml antes do build
- Mantém compatibilidade com estrutura existente no runner
- Hash buster para v5 força reavaliação do workflow
- Remove referência para /opt/gbo/work/botserver/src (não existe)
- Usa /opt/gbo/work/botserver como caminho base (onde está Cargo.toml)
- Remove dependência do botlib (não necessário para build)
- Incrementa hash-buster para v4 para forçar refresh do cache no CI
- 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>