From a923ab2db1b90e1bda5663a3247b489b8d71f8a6 Mon Sep 17 00:00:00 2001 From: "Rodrigo Rodriguez (Pragmatismo)" Date: Wed, 22 Apr 2026 14:30:37 +0000 Subject: [PATCH] fix(ci): Deploy via temp file + mv to avoid locked binary overwrite - SCP to botui-new/botserver-new first, then mv into place - Avoids 'dest open: Failure' when overwriting running binary - pkill + systemctl stop before deploy, enable + start after --- .forgejo/workflows/botserver.yaml | 6 +++--- .forgejo/workflows/botui.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.forgejo/workflows/botserver.yaml b/.forgejo/workflows/botserver.yaml index 4d737d63..aabf39d4 100644 --- a/.forgejo/workflows/botserver.yaml +++ b/.forgejo/workflows/botserver.yaml @@ -26,8 +26,8 @@ jobs: - name: Deploy run: | BINARY=/opt/gbo/work/target/debug/botserver - ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo systemctl stop botserver 2>/dev/null; sudo pkill -x botserver 2>/dev/null; sleep 2" - scp -o StrictHostKeyChecking=no "$BINARY" $SYSTEM_HOST:/opt/gbo/bin/botserver - ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo systemctl enable botserver && sudo systemctl start botserver" + ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo systemctl stop botserver 2>/dev/null; sudo pkill -x botserver 2>/dev/null; sleep 1" + scp -o StrictHostKeyChecking=no "$BINARY" $SYSTEM_HOST:/opt/gbo/bin/botserver-new + ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo mv /opt/gbo/bin/botserver-new /opt/gbo/bin/botserver && sudo chmod +x /opt/gbo/bin/botserver && sudo systemctl enable botserver && sudo systemctl start botserver" sleep 10 ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "curl -sf http://localhost:8080/health && echo 'BotServer Deployed' || echo 'Failed'" diff --git a/.forgejo/workflows/botui.yaml b/.forgejo/workflows/botui.yaml index 9e9a862a..5932a9d3 100644 --- a/.forgejo/workflows/botui.yaml +++ b/.forgejo/workflows/botui.yaml @@ -26,8 +26,8 @@ jobs: - name: Deploy run: | BINARY=/opt/gbo/work/target/debug/botui - ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo systemctl stop botui 2>/dev/null; sudo pkill -x botui 2>/dev/null; sleep 2" - scp -o StrictHostKeyChecking=no "$BINARY" $SYSTEM_HOST:/opt/gbo/bin/botui - ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo systemctl enable botui && sudo systemctl start botui" + ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo systemctl stop botui 2>/dev/null; sudo pkill -x botui 2>/dev/null; sleep 1" + scp -o StrictHostKeyChecking=no "$BINARY" $SYSTEM_HOST:/opt/gbo/bin/botui-new + ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "sudo mv /opt/gbo/bin/botui-new /opt/gbo/bin/botui && sudo chmod +x /opt/gbo/bin/botui && sudo systemctl enable botui && sudo systemctl start botui" sleep 3 ssh -o StrictHostKeyChecking=no $SYSTEM_HOST "pgrep -x botui && echo 'BotUI Deployed' || echo 'Failed'"