From a3ae27365470e13d1565cef0c31602d4a5e66201 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sat, 28 Feb 2026 11:47:49 -0500 Subject: [PATCH 1/9] make the deploy script fail early and only restart server after all other commands --- .github/workflows/backend-deploy.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index 0dd84617..5a2041dd 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -11,20 +11,27 @@ jobs: runs-on: ubuntu-latest steps: - name: Rebuild backend and deploy - uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5, pinned for supply chain safety; get the new full SHA if we need to updgrade + uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5, pinned for supply chain safety; get the new full SHA if we need to upgrade with: host: ${{ secrets.EC2_URL }} username: 'ubuntu' key: ${{ secrets.SSH_PRIVATE_KEY }} script: | - cd /home/ubuntu/DishZero/backend + set -e + export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh - npm i -g pm2 - npm i -g yarn - pm2 stop dishzero - pm2 delete dishzero + + nvm install 20 + npm i -g pm2 yarn + + cd /home/ubuntu/DishZero git pull - yarn install + + cd backend + yarn install --frozen-lockfile + yarn cache clean yarn build - pm2 start yarn --name "dishzero" -- start + + pm2 restart dishzero || pm2 start yarn --name dishzero -- start + pm2 save From 699a60747208761878e80c0c1f560e26c300d007 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sat, 28 Feb 2026 12:11:36 -0500 Subject: [PATCH 2/9] try this --- .github/workflows/backend-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index 5a2041dd..dba54c3e 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -19,8 +19,8 @@ jobs: script: | set -e - export NVM_DIR=~/.nvm - source ~/.nvm/nvm.sh + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" nvm install 20 npm i -g pm2 yarn From f11085a003698fd3d34c36935b5a22dcfe61fd10 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sun, 1 Mar 2026 11:38:00 -0500 Subject: [PATCH 3/9] try something new --- .github/workflows/backend-deploy.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index dba54c3e..08e34cd6 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -19,10 +19,11 @@ jobs: script: | set -e - export NVM_DIR="$HOME/.nvm" - [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" + export NVM_DIR=~/.nvm + source ~/.nvm/nvm.sh nvm install 20 + nvm use 20 npm i -g pm2 yarn cd /home/ubuntu/DishZero From c32f15f03afa1d414ecb3d1c534d39ff941b05a6 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sun, 1 Mar 2026 11:39:22 -0500 Subject: [PATCH 4/9] echo for debugging --- .github/workflows/backend-deploy.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index 08e34cd6..6cab62b6 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -19,20 +19,31 @@ jobs: script: | set -e + echo "=== Setting up Node ===" export NVM_DIR=~/.nvm source ~/.nvm/nvm.sh + echo "=== Installing Node ===" nvm install 20 nvm use 20 + + echo "=== Installing PM2 and Yarn ===" npm i -g pm2 yarn + echo "=== Pulling latest code ===" cd /home/ubuntu/DishZero git pull + echo "=== Installing dependencies ===" cd backend yarn install --frozen-lockfile yarn cache clean + + echo "=== Building ===" yarn build + echo "=== Restarting server ===" pm2 restart dishzero || pm2 start yarn --name dishzero -- start + + echo "=== Saving PM2 ===" pm2 save From 98455de4cccedde0e16ae423bd8742d3a50ff6e1 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sun, 1 Mar 2026 11:43:20 -0500 Subject: [PATCH 5/9] capture stdout --- .github/workflows/backend-deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index 6cab62b6..a35fe816 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -16,6 +16,7 @@ jobs: host: ${{ secrets.EC2_URL }} username: 'ubuntu' key: ${{ secrets.SSH_PRIVATE_KEY }} + capture_stdout: true script: | set -e From fca296e7f4a68edc46f7bb23c790768518961a11 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sun, 1 Mar 2026 11:48:20 -0500 Subject: [PATCH 6/9] help with debugging --- .github/workflows/backend-deploy.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index a35fe816..15de4826 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -11,12 +11,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Rebuild backend and deploy + id: deploy uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5, pinned for supply chain safety; get the new full SHA if we need to upgrade with: host: ${{ secrets.EC2_URL }} username: 'ubuntu' key: ${{ secrets.SSH_PRIVATE_KEY }} capture_stdout: true + debug: true script: | set -e @@ -48,3 +50,7 @@ jobs: echo "=== Saving PM2 ===" pm2 save + + - name: Show deploy output + if: always() + run: echo "${{ steps.deploy.outputs.stdout }}" From a7ef24226748e0b1584b5e6af80c71ec7914cf4b Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sun, 1 Mar 2026 11:52:08 -0500 Subject: [PATCH 7/9] try this --- .github/workflows/backend-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index 15de4826..bb301a71 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -23,8 +23,8 @@ jobs: set -e echo "=== Setting up Node ===" - export NVM_DIR=~/.nvm - source ~/.nvm/nvm.sh + export NVM_DIR="$HOME/.nvm" + . "$NVM_DIR/nvm.sh" echo "=== Installing Node ===" nvm install 20 From af9fae74eea37b888df3b42b515048d61a146c84 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sun, 1 Mar 2026 11:53:41 -0500 Subject: [PATCH 8/9] please work --- .github/workflows/backend-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index bb301a71..c717eaf9 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -20,12 +20,12 @@ jobs: capture_stdout: true debug: true script: | - set -e - echo "=== Setting up Node ===" export NVM_DIR="$HOME/.nvm" . "$NVM_DIR/nvm.sh" + set -e + echo "=== Installing Node ===" nvm install 20 nvm use 20 From 823a05b0469bffd3f31cd5917a11619db6ba98f5 Mon Sep 17 00:00:00 2001 From: Josh Katofsky Date: Sun, 1 Mar 2026 11:55:56 -0500 Subject: [PATCH 9/9] give this a whirl --- .github/workflows/backend-deploy.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/backend-deploy.yml b/.github/workflows/backend-deploy.yml index c717eaf9..500d4ac3 100644 --- a/.github/workflows/backend-deploy.yml +++ b/.github/workflows/backend-deploy.yml @@ -11,14 +11,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Rebuild backend and deploy - id: deploy uses: appleboy/ssh-action@0ff4204d59e8e51228ff73bce53f80d53301dee2 # v1.2.5, pinned for supply chain safety; get the new full SHA if we need to upgrade with: host: ${{ secrets.EC2_URL }} username: 'ubuntu' key: ${{ secrets.SSH_PRIVATE_KEY }} - capture_stdout: true - debug: true script: | echo "=== Setting up Node ===" export NVM_DIR="$HOME/.nvm" @@ -50,7 +47,3 @@ jobs: echo "=== Saving PM2 ===" pm2 save - - - name: Show deploy output - if: always() - run: echo "${{ steps.deploy.outputs.stdout }}"