- botui was running outside systemd, so systemctl stop did nothing
- Add pkill -x as fallback after systemctl stop
- Enable service before starting so it persists across reboots
- Same pattern for both botui and botserver
- Move env block from workflow root to job level (Forgejo requirement)
- Replace hardcoded IP with ${{ vars.SYSTEM_HOST }} variable
- Fixes 'yaml: line 11: did not find expected key' error
- Applies to all 4 workflows: botlib, botserver, bottest, botui
- 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
- 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
The forgejo-runner service inherits RUSTC_WRAPPER=sccache from
systemd environment. Set RUSTC_WRAPPER="" in workflow env to
override and prevent permission denied errors.
- 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
- 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