# v26 - Clean submodule state name: BotServer CI on: push: branches: [main] env: SCCACHE_DIR: /opt/gbo/work/.sccache CARGO_TARGET_DIR: /opt/gbo/work/target RUSTC_WRAPPER: sccache PATH: /home/gbuser/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin jobs: build: runs-on: gbo steps: - name: Setup run: | cd /opt/gbo/work/botserver git rebase --abort 2>/dev/null || true git reset --hard HEAD git clean -fd git pull # CRITICAL: Reset submodules to clean state git submodule foreach --recursive git reset --hard HEAD 2>/dev/null || true git submodule foreach --recursive git clean -fd 2>/dev/null || true git submodule update --init --recursive botlib botserver # Verify clean echo "Submodule status:" git submodule status | head -5 - name: Build run: | cd /opt/gbo/work/botserver cargo build -p botserver - name: Deploy run: | echo "1. Kill old..." timeout 5 bash -c 'while pgrep -x botserver > /dev/null; do pkill -x botserver; sleep 0.5; done' || true echo "2. Copy..." mkdir -p /opt/gbo/bin cp -f /opt/gbo/work/botserver/target/debug/botserver /opt/gbo/bin/ chmod +x /opt/gbo/bin/botserver echo "3. Start..." cd /opt/gbo/bin && ./botserver --noconsole & sleep 3 echo "4. Verify..." pgrep -x botserver && echo "✅ Running" || echo "❌ Failed"