Commit graph

264 commits

Author SHA1 Message Date
eea9b24ef0 fix: CI failures - shutdown hang, bottest compile errors, botui deploy
Some checks failed
Botlib CI / build (push) Successful in 9s
BotServer CI / build (push) Successful in 3m52s
Bottest CI / build (push) Failing after 8s
- Add shutdown tracing and 15s forced exit to prevent SIGTERM hangs
- Fix E0583: remove self-referential mod declarations in bottest integration files
- Fix E0599: correct .status() call on Result in performance.rs
- Fix botui CI deploy: use systemctl stop/start instead of pkill+nohup
- Update PROD.md with DB-driven CI log retrieval method
2026-04-22 11:25:05 +00:00
1b25559a1b fix: Use systemctl for botserver deploy to system container
Some checks failed
Botlib CI / build (push) Successful in 2s
BotServer CI / build (push) Successful in 21s
Bottest CI / build (push) Failing after 7s
BotUI CI / build (push) Failing after 6s
- Stop botserver via 'sudo systemctl stop' before SCP
- Start botserver via 'sudo systemctl start' after copy
- Use health check endpoint to verify deployment
2026-04-22 03:02:17 +00:00
6a45629ed3 fix: Deploy binaries to system container via SSH
Some checks failed
Botlib CI / build (push) Successful in 3s
BotServer CI / build (push) Failing after 5s
Bottest CI / build (push) Failing after 7s
BotUI CI / build (push) Failing after 5s
- CI runner runs on alm-ci container but must deploy to system container
- Use scp to transfer binary from alm-ci to system (10.157.134.196)
- SSH to system container to stop old process, copy binary, restart
2026-04-22 02:48:52 +00:00
a4834081b8 fix: Explicitly disable sccache in CI workflows
Some checks failed
Botlib CI / build (push) Successful in 4s
Bottest CI / build (push) Failing after 9s
BotUI CI / build (push) Successful in 4s
BotServer CI / build (push) Failing after 20m5s
The forgejo-runner service inherits RUSTC_WRAPPER=sccache from
systemd environment. Set RUSTC_WRAPPER="" in workflow env to
override and prevent permission denied errors.
2026-04-22 02:20:44 +00:00
4380b39ac5 fix: Remove sccache from CI (permission issues), fix deploy binary paths
Some checks failed
Bottest CI / build (push) Waiting to run
Botlib CI / build (push) Successful in 4s
BotServer CI / build (push) Has been cancelled
BotUI CI / build (push) Has been cancelled
- Remove RUSTC_WRAPPER=sccache from all workflows (permission denied
  in act container environment)
- Fix deploy paths to use CARGO_TARGET_DIR=/opt/gbo/work/target
  instead of relative target/debug
- Remove path triggers from botserver workflow (all pushes trigger)
- Add mkdir for target and bin dirs in setup steps
2026-04-22 02:07:07 +00:00
b537b021c4 fix: Update CI workflows for monorepo structure
Some checks failed
Botlib CI / build (push) Successful in 4m37s
BotServer CI / build (push) Failing after 3m55s
Bottest CI / build (push) Failing after 10m21s
BotUI CI / build (push) Failing after 2m40s
- Fix all workflows to use /opt/gbo/work/generalbots (monorepo)
- Add proper env vars (SCCACHE, CARGO_TARGET_DIR, PATH) to all workflows
- Add deploy steps for botui (with process restart)
- Remove broken workflows for non-Rust packages (botapp, botbook,
  botdevice, botmodels, botplugin)
- Add botlib test workflow
2026-04-22 01:23:37 +00:00
5ab886e6e3 ci: Update botserver workflow for single-repo, remove duplicate .forgejo from subdirs
Some checks failed
Botapp CI / build (push) Failing after 0s
Botbook CI / build (push) Failing after 0s
Botdevice CI / build (push) Failing after 0s
Botmodels CI / build (push) Failing after 0s
Botplugin CI / build (push) Failing after 0s
BotServer CI / build (push) Failing after 0s
Bottest CI / build (push) Failing after 0s
BotUI CI / build (push) Failing after 0s
2026-04-21 23:04:27 +00:00
037db5c381 feat: Major workspace reorganization and documentation update
- Add comprehensive documentation in botbook/ with 12 chapters
- Add botapp/ Tauri desktop application
- Add botdevice/ IoT device support
- Add botlib/ shared library crate
- Add botmodels/ Python ML models service
- Add botplugin/ browser extension
- Add botserver/ reorganized server code
- Add bottemplates/ bot templates
- Add bottest/ integration tests
- Add botui/ web UI server
- Add CI/CD workflows in .forgejo/workflows/
- Add AGENTS.md and PROD.md documentation
- Add dependency management scripts (DEPENDENCIES.sh/ps1)
- Remove legacy src/ structure and migrations
- Clean up temporary and backup files
2026-04-19 08:14:25 -03:00
6f23d3ffb2 CI: Remove .forgejo 2026-04-19 07:12:21 -03:00
2ff68e5a2a CI: v26 - Reset submodules to clean state
Some checks failed
BotServer CI / build (push) Failing after 4s
2026-04-18 20:48:55 -03:00
c218556a94 CI: v25 - Fixed pkill with timeout, proper paths
Some checks are pending
BotServer CI / build (push) Waiting to run
2026-04-18 20:44:04 -03:00
6f003a313c CI: v24 - Deploy with traces and verification
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-04-18 20:43:06 -03:00
46e5d16892 CI: v23 - Simple deploy: pkill, cp, start
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-04-18 20:41:47 -03:00
1c8cc6626d CI: v22 - Simplified stages, fast deploy
Some checks failed
BotServer CI / build (push) Has been cancelled
2026-04-18 20:39:56 -03:00
82cb2acf4e CI: v21 - Force clean git state (abort rebase, reset hard)
Some checks failed
BotServer CI/CD / build (push) Has been cancelled
2026-04-18 20:37:59 -03:00
1bf8d12f34 CI: v20 - Use incus file push for deploy (no SSH needed)
Some checks failed
BotServer CI/CD / build (push) Has been cancelled
2026-04-18 20:33:29 -03:00
178fc2e81c CI: v19 - Abort rebase first, then reset
- Add git rebase --abort to clear any stuck rebase state
- Then reset --hard + clean
- Prevents 'rebase in progress' errors
2026-04-18 19:13:27 -03:00
91d0011ce7 CI: v18 - Use merge (not rebase), reset dirty state
- git reset --hard + git clean to avoid rebase conflicts
- Use git pull (merge) instead of pull --rebase
- Verified build times on runner:
  * botserver: 2s (incremental), 42s (cold)
  * botui: 9s (incremental)
2026-04-18 19:11:52 -03:00
c11801fcd8 CI: v17 - Build ONLY botserver, not entire workspace
- Only build -p botserver (not botui, botlib separately)
- Initialize only required submodules (botlib, botserver)
- Much faster, focused build
2026-04-18 18:51:00 -03:00
39d907c323 CI: v16 - Verified on runner, all 3 projects build
- Tested on alm-ci runner at /opt/gbo/work/botserver
- All submodules initialize correctly
- botserver, botui, botlib all compile successfully
- Removed problematic .github submodule
- Pre-installed on runner: Rust 1.95, Node 22, Python 3.11, sccache 0.7
2026-04-18 18:50:22 -03:00
fc9c4b7bdf CI: v15 - Work folder /opt/gbo/work/, build all 3 projects
- Use /opt/gbo/work/gb/ as working directory
- Build botserver, botui, botlib
- Pull --rebase (no clone if exists)
- Verified: all 3 projects compile with 0 errors
2026-04-18 18:37:04 -03:00
1cbc894a76 CI: v15 - Dev machine style, just pull no clone
- Remove clone step entirely
- Just git pull --rebase in /opt/gbo/data
- Build in place like a dev machine
- Much faster, no manual clone
2026-04-18 18:31:59 -03:00
80ac912268 CI: Update to v14 - offline first, no installs in YAML
- Remove container image requirement (assumes pre-installed tools)
- Remove Rust installation step (pre-installed on ci-alm runner)
- Add sccache configuration for faster builds
- Add proper deploy step with SSH to system container
- Follow 'offline first' approach per ci.tmp requirements
2026-04-18 18:26:36 -03:00
79cd3a45d3 Fix: Use Ubuntu container with shell (v13)
Some checks failed
BotServer CI/CD / build (push) Failing after 2m25s
Changes:
- Use ubuntu:22.04 container image
- Install git, curl, ssh in container
- Install Rust via rustup
- Ensures sh/bash is available
- Self-contained build environment
2026-04-18 18:03:31 -03:00
f4efd47ae9 Fix: Remove non-ASCII characters from YAML (v12-clean)
Some checks failed
BotServer CI/CD / build (push) Failing after 0s
Changes:
- Removed all accented characters and special UTF-8
- Comments in English only
- Clean ASCII-only YAML
- Should parse correctly now
2026-04-18 17:55:18 -03:00
4b8e19d9e9 Pull-Only: Assume Rust/Node/Python já instalados (v12)
Mudanças:
- Remove setup do Rust (assume já instalado no runner)
- Remove instalação de sccache (opcional)
- Verifica dependências no início do build
- Foco: apenas clone + build + deploy
- Mais rápido (~3-4 min total)

Pré-requisitos no runner:
- Rust (cargo, rustc) já instalado
- Git já configurado
- SSH keys já configuradas
- Acesso ao repositório ALM

Fluxo:
1. Clone limpo do repositório gb
2. Inicializa submodules botserver + botlib
3. cargo build -p botserver
4. Deploy automático
5. Cleanup

Tempo estimado: ~3-4 minutos
2026-04-18 17:45:41 -03:00
7115cb3e19 Completo: Rust setup + Clone + Build + Deploy (v11)
Some checks failed
BotServer CI/CD / build (push) Has been cancelled
Mudanças:
- Adiciona setup completo do Rust (rustup, cargo, rustc)
- Instala sccache para cache de build
- Configura PATH e variáveis de ambiente
- Clone limpo do workspace
- Inicializa submodules botserver e botlib
- Build com sccache
- Deploy automático no system container
- Cleanup após build

Fluxo completo:
1. Setup Rust (instala se necessário)
2. Clone limpo do repositório gb
3. Inicializa submodules
4. cargo build -p botserver
5. Deploy via SSH
6. Cleanup

Tempo estimado: ~4-5 minutos
- Setup Rust: ~30s (se instalar)
- Clone: ~30s
- Submodules: ~15s
- Build: ~2-3min (com cache)
- Deploy: ~30s
2026-04-18 17:41:53 -03:00
7f4774a88a Simplificação total: Clone limpo sempre (v10)
Some checks failed
BotServer CI/CD / build (push) Failing after 3s
Mudanças principais:
- Remove dependência de estado anterior (/opt/gbo/work/botserver)
- Sempre clona repositório gb do zero em /opt/gbo/work/build/workspace
- Inicializa apenas botserver e botlib submodules
- Prepara Cargo.toml removendo members desnecessários
- Adiciona step de deploy automático
- Cleanup após build (sucesso ou falha)
- Hash buster v10 para reavaliação completa
- Caminho simplificado e à prova de falhas

Fluxo:
1. rm -rf /opt/gbo/work/build (limpeza)
2. git clone --depth 1 gb.git workspace
3. git submodule update --init botserver botlib
4. cargo build -p botserver
5. Deploy no system container
6. Cleanup
2026-04-18 17:27:23 -03:00
020af83308 Fix: Refaz clone completo se estrutura inválida (v9)
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 3s
- 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
2026-04-18 17:22:44 -03:00
f47f9ade82 Fix: Adiciona fallback para clone direto (v8)
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 1s
- 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
2026-04-18 17:19:45 -03:00
c3545055e5 Fix: Otimiza clone de submodules (v7)
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 3s
- 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
2026-04-18 17:13:32 -03:00
741ce488f8 Fix: Usa git workspace com submodules (v6)
Some checks failed
BotServer CI/CD v2 / build (push) Has been cancelled
- 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
2026-04-18 17:09:03 -03:00
fa40b28824 Fix: Corrige lógica de setup do repositório (v5)
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 1s
- 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
2026-04-18 16:48:24 -03:00
eb1240368e Fix: Corrige caminho do build (remove /src incorreto)
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 1s
- 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
2026-04-18 16:33:51 -03:00
097dc2dbc9 ci: Adicionar hash-buster para forçar novo workflow
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 1s
2026-04-18 16:25:23 -03:00
dac663dad8 ci: Renomear workflow para botserver-v2.yaml para forçar novo registro
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 1s
2026-04-18 16:21:47 -03:00
f388e5b380 ci: Forçar refresh do workflow (v2) e remover erros de sintaxe
Some checks failed
BotServer CI/CD v2 / build (push) Failing after 1s
- Renomeado para 'BotServer CI/CD v2'
- Estrutura totalmente reescrita
- Removido blocos if/else quebrados
- Adicionado variáveis de ambiente para cache isolado
2026-04-18 16:20:38 -03:00
005de5bba7 fix: Build debug (rápido) e remoção total de clones
Some checks are pending
BotServer CI/CD / build (push) Waiting to run
- Alterado para cargo build (debug) para compilação mais rápida
- Removido lógica de if/else quebrada
- Caminho fixo: /opt/gbo/work/botserver/src
- Apenas git pull + build
2026-04-18 16:11:27 -03:00
b39dc3e268 fix: Remover git clone e usar path /opt/gbo/work/botserver/src
Some checks failed
BotServer CI/CD / build (push) Failing after 0s
2026-04-18 16:07:29 -03:00
fed92acaab Fix git clone handling for existing directories
All checks were successful
BotServer CI/CD / build (push) Successful in 27m5s
2026-04-17 21:02:26 -03:00
c697b97943 Fix Cargo.toml filtering to preserve botserver member
Some checks failed
BotServer CI/CD / build (push) Failing after 1s
2026-04-17 20:58:27 -03:00
41b502ef9a Fix workspace directory structure
Some checks failed
BotServer CI/CD / build (push) Failing after 2s
2026-04-17 20:52:44 -03:00
29a87e3694 Fix PATH environment for cargo command
Some checks failed
BotServer CI/CD / build (push) Failing after 2s
2026-04-17 20:46:59 -03:00
5272b308f7 Update CI: use sccache, separate target dir per project, shared cargo cache
Some checks failed
BotServer CI/CD / build (push) Failing after 3s
2026-04-17 19:53:47 -03:00
3a027e6619 Fix CI workflow to cache dependencies and preserve workspace between runs
Some checks failed
BotServer CI/CD / build (push) Has been cancelled
2026-04-17 19:45:18 -03:00
867ba98585 Fix CI: Combine all steps into single atomic run block
Some checks failed
BotServer CI/CD / build (push) Failing after 10s
2026-04-17 18:47:01 -03:00
98dde8cba2 Fix CI: Separate step for Cargo.toml setup
Some checks failed
BotServer CI/CD / build (push) Failing after 16s
2026-04-17 18:45:15 -03:00
059a7c6584 Fix CI: Use gbuser home directory, fresh sources + cached target
Some checks failed
BotServer CI/CD / build (push) Failing after 1s
2026-04-17 18:37:22 -03:00
be410f4faa Fix CI: Remove sudo from Install deps (packages already installed)
Some checks failed
BotServer CI/CD / build (push) Failing after 2s
2026-04-17 18:33:05 -03:00
1782fd95ec Restore working CI with persistent directories
Some checks failed
BotServer CI/CD / build (push) Failing after 4s
2026-04-17 18:24:55 -03:00