name: BotServer CI on: push: branches: [main] env: 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 git submodule foreach --recursive git reset --hard HEAD 2>/dev/null || true git submodule update --init --recursive botlib botserver 2>/dev/null || true - name: Build run: | cd /opt/gbo/work/botserver cargo build -p botserver - name: Deploy run: | BINARY="/opt/gbo/work/botserver/target/debug/botserver" echo "1. Stop old on system..." sudo incus exec system -- systemctl stop botserver || true sudo incus exec system -- pkill -x botserver || true sleep 1 echo "2. Copy new binary..." sudo incus file push "$BINARY" system:/opt/gbo/bin/botserver --mode=0755 echo "3. Start new on system..." sudo incus exec system -- systemctl start botserver sleep 2 echo "4. Verify..." sudo incus exec system -- pgrep -x botserver && echo "✅ SUCCESS" || echo "❌ FAILED"