- Changed extract_xlsx_text() to use open_workbook() instead of open_workbook_from_rs()
- Changed extract_xls_text() to use open_workbook() instead of open_workbook_from_rs()
- The calamine 0.26 API uses open_workbook(path) for direct file access
- This matches the pattern used in import_export.rs and vectordb.rs
- Fixes issue #498 where XLSX/XLS files were not being properly indexed into KB
Root cause: open_workbook_from_rs() is not the correct API for calamine 0.26
Impact: XLSX and XLS files in .gbkb folders were failing to index into vector DB
Fix: Use standard open_workbook() API that accepts file path directly
- Add sccache wrapper that unsets CARGO_INCREMENTAL (sccache 0.14.0
refuses to work when that env var is present, even if =0)
- Remove rustc-wrapper from .cargo/config.toml (use RUSTC_WRAPPER env in CI)
- Set [profile.dev] incremental = false to avoid sccache 'prohibited' error
- DEV-DEPENDENCIES.sh now installs sccache 0.14.0 + wrapper correctly
- CI workflow: unset CARGO_INCREMENTAL env (let sccache wrapper handle it)
Tested on alm-ci: 50% cache hit rate on rebuild after target/ removal.
- DEV-DEPENDENCIES.sh: installs sccache 0.14.0 via cargo-binstall
(was 0.7.5 which prohibited incremental compilation)
- Removes old sccache binary before installing new one
- Copies to /usr/local/bin so all users can access it
- CI workflow: CARGO_INCREMENTAL=1 now supported by sccache 0.14.0
sccache 0.7.5 errors with 'increment compilation is prohibited'
when CARGO_INCREMENTAL=1. Keep at 0 and rely on the fixed
touch-only-changed-files logic to preserve sccache cache hits.
- CARGO_INCREMENTAL=1 enables sccache to cache Rust compilations
(was 0, making all compilations non-cacheable)
- Only touch files that changed between old and new rev
(was touching ALL files, invalidating entire sccache cache)
- Use git pull --rebase to avoid merge conflicts in CI
- Fix YAML parse error (line 29 colon issue) with proper indentation
- Remove git reset --hard and git clean -fd that invalidated sccache cache
- CARGO_INCREMENTAL=0 as env var in CI only (dev keeps incremental=true)
- .cargo/config.toml keeps incremental default for dev sccache benefit
- rustc-wrapper = "sccache" for faster rebuilds
- jobs = 6 for parallel compilation
- linker = "clang" with mold for faster linking
This ensures all developers and CI use the same optimized build settings.
Run: cargo build -p botserver --bin botserver
- Criado serviço systemd para forgejo-runner como gbuser
- Removido runner root antigo
- Todas permissões de /opt/gbo/work agora são gbuser:gbuser
- Fim dos erros de permissão no cache do sccache
- Fixes 'rustup could not choose a version of cargo' error
- Sets stable toolchain as default before cargo build
- Preserves sccache configuration and workspace cache
- Remove configuração automática do ~/.cargo/config.toml
- O workspace já tem .cargo/config.toml que sobrescreve o global
- Devs só precisam rodar ./DEV-DEPENDENCIES.sh para instalar mold/lld/clang
- Config do projeto (./.cargo/config.toml) é usado automaticamente
- Detecta automaticamente o home do usuário atual
- Substitui /home/gbuser hardcoded por $USER_HOME
- Funciona em qualquer máquina (dev local, CI, etc)
- Adiciona .cargo/config.toml com configuração de linker
- Usa clang + lld para linkagem 30-40% mais rápida
- Adiciona sccache para cache de compilação
- Remove comentários do workflow CI
- Ganho total esperado: 17min → 2-5min (incremental)
- Adiciona 'export RUSTC_WRAPPER=sccache' no passo de build
- Adiciona sccache --show-stats antes e depois do build para monitorar cache
- Workflow agora usa sccache corretamente para builds incrementais
- Ganho esperado: 17min → 2-5min (após 1º build)
- Adiciona função configure_cargo() que cria ~/.cargo/config.toml
- Configura linker clang + lld para linkagem rápida
- Reduz tempo de link em ~30-40%
- Aplica para todas as máquinas de desenvolvimento