From 06ca00403ba5a4f48ea349a8bbb6f4495bac8b68 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 28 Mar 2026 08:42:37 +0000 Subject: [PATCH] ci: update GCE deployment to include TUI and use CLI commands - Added step to build `picoclaw-launcher-tui` - Copied `picoclaw-launcher-tui` to GCE instance - Changed restart command from systemd to CLI `pkill` and `nohup` for `picoclaw gate -E` Co-authored-by: TanLuong <28281768+TanLuong@users.noreply.github.com> --- .github/workflows/deploy-gce.yml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy-gce.yml b/.github/workflows/deploy-gce.yml index dc963d7c3..c799b1b88 100644 --- a/.github/workflows/deploy-gce.yml +++ b/.github/workflows/deploy-gce.yml @@ -28,13 +28,16 @@ jobs: sudo apt-get install -y libolm-dev - name: Build Go backend - run: make build + run: | + make build + make build-launcher-tui - name: Determine binary name id: binary run: | # The Makefile outputs a binary named picoclaw-linux-amd64 echo "path=build/picoclaw-linux-amd64" >> $GITHUB_OUTPUT + echo "tui_path=build/picoclaw-launcher-tui-linux-amd64" >> $GITHUB_OUTPUT - id: 'auth' name: 'Authenticate to Google Cloud' @@ -47,7 +50,7 @@ jobs: uses: 'google-github-actions/setup-gcloud@v2' - name: Verify build artifact - run: ls -lh ${{ steps.binary.outputs.path }} + run: ls -lh ${{ steps.binary.outputs.path }} ${{ steps.binary.outputs.tui_path }} - name: 'Deploy binary to GCE' run: | @@ -57,13 +60,16 @@ jobs: --project=${{ secrets.GCP_PROJECT_ID }} \ --command="mkdir -p ~/.local/bin" - # Copy the binary to the instance + # Copy the binaries to the instance gcloud compute scp ${{ steps.binary.outputs.path }} ${{ secrets.GCE_INSTANCE }}:~/.local/bin/picoclaw \ --zone=${{ secrets.GCE_ZONE }} \ --project=${{ secrets.GCP_PROJECT_ID }} + gcloud compute scp ${{ steps.binary.outputs.tui_path }} ${{ secrets.GCE_INSTANCE }}:~/.local/bin/picoclaw-launcher-tui \ + --zone=${{ secrets.GCE_ZONE }} \ + --project=${{ secrets.GCP_PROJECT_ID }} - # Make it executable and restart the service + # Make it executable and restart the gateway service via command line gcloud compute ssh ${{ secrets.GCE_INSTANCE }} \ --zone=${{ secrets.GCE_ZONE }} \ --project=${{ secrets.GCP_PROJECT_ID }} \ - --command="chmod +x ~/.local/bin/picoclaw && sudo systemctl restart picoclaw" + --command="chmod +x ~/.local/bin/picoclaw ~/.local/bin/picoclaw-launcher-tui && pkill -f 'picoclaw gate -E' || true && nohup ~/.local/bin/picoclaw gate -E > /dev/null 2>&1 &"