From 6c3d49c72c113b9c310dfaeaa13824f38447b17d Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 17 Mar 2026 12:25:04 +0530 Subject: [PATCH 01/20] feat(*): automation deployment for staging and prod --- .github/workflows/cd-production.yml | 45 +++++++++++++++++++++++++++++ .github/workflows/cd-staging.yml | 45 +++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 .github/workflows/cd-production.yml create mode 100644 .github/workflows/cd-staging.yml diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml new file mode 100644 index 0000000..4ac6134 --- /dev/null +++ b/.github/workflows/cd-production.yml @@ -0,0 +1,45 @@ +name: Deploy Kaapi to EC2 Production + +on: + push: + branches: + - release + +jobs: + deploy: + name: Deploy Kaapi Frontend to EC2 Production + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Deploy via SSH + uses: appleboy/ssh-action@v1.0.3 + env: + SCRIPT_NAME: ${{ secrets.PM2_APP_NAME }} + with: + host: ${{ secrets.EC2_HOST }} + username: ${{ secrets.EC2_USER }} + key: ${{ secrets.EC2_SSH_KEY }} + script_stop: true + script: | + set -e + + echo "===== Navigating to Project Directory =====" + cd ${{ secrets.PROJECT_PATH }} + + echo "===== Fetch Latest Code =====" + git pull origin release + + echo "===== Stop Running Application =====" + pm2 stop "$SCRIPT_NAME" || true + + echo "===== Install Dependencies =====" + npm ci + + echo "===== Build Application =====" + npm run build + + echo "===== Start Application =====" + pm2 start "$SCRIPT_NAME" || pm2 start npm --name "$SCRIPT_NAME" -- start diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml new file mode 100644 index 0000000..cbb0dc1 --- /dev/null +++ b/.github/workflows/cd-staging.yml @@ -0,0 +1,45 @@ +name: Deploy Kaapi to EC2 Staging + +on: + push: + branches: + - main + +jobs: + deploy: + name: Deploy Kaapi Frontend to EC2 Staging + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Deploy via SSH + uses: appleboy/ssh-action@v1.0.3 + env: + SCRIPT_NAME: ${{ secrets.PM2_APP_NAME }} + with: + host: ${{ secrets.EC2_HOST }} + username: ${{ secrets.EC2_USER }} + key: ${{ secrets.EC2_SSH_KEY }} + script_stop: true + script: | + set -e + + echo "===== Navigating to Project Directory =====" + cd ${{ secrets.PROJECT_PATH }} + + echo "===== Fetch Latest Code =====" + git pull origin main + + echo "===== Stop Running Application =====" + pm2 stop "$SCRIPT_NAME" || true + + echo "===== Install Dependencies =====" + npm ci + + echo "===== Build Application =====" + npm run build + + echo "===== Start Application =====" + pm2 start "$SCRIPT_NAME" From 725f60fc09de676947a3f7a9a3fdcc7ccce74039 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 17 Mar 2026 12:32:49 +0530 Subject: [PATCH 02/20] chore: refine log separators in deployment script --- .github/workflows/cd-production.yml | 14 +++++++------- .github/workflows/cd-staging.yml | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 4ac6134..6082030 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -26,20 +26,20 @@ jobs: script: | set -e - echo "===== Navigating to Project Directory =====" + echo "=== Navigating to Project Directory ===" cd ${{ secrets.PROJECT_PATH }} - echo "===== Fetch Latest Code =====" + echo "=== Fetch Latest Code ===" git pull origin release - echo "===== Stop Running Application =====" + echo "=== Stop Running Application ===" pm2 stop "$SCRIPT_NAME" || true - echo "===== Install Dependencies =====" + echo "=== Install Dependencies ===" npm ci - echo "===== Build Application =====" + echo "=== Build Application ===" npm run build - echo "===== Start Application =====" - pm2 start "$SCRIPT_NAME" || pm2 start npm --name "$SCRIPT_NAME" -- start + echo "=== Start Application ===" + pm2 start "$SCRIPT_NAME" diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index cbb0dc1..6e1a1ed 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -26,20 +26,20 @@ jobs: script: | set -e - echo "===== Navigating to Project Directory =====" + echo "=== Navigating to Project Directory ===" cd ${{ secrets.PROJECT_PATH }} - echo "===== Fetch Latest Code =====" + echo "=== Fetch Latest Code ===" git pull origin main - echo "===== Stop Running Application =====" + echo "=== Stop Running Application ===" pm2 stop "$SCRIPT_NAME" || true - echo "===== Install Dependencies =====" + echo "=== Install Dependencies ===" npm ci - echo "===== Build Application =====" + echo "=== Build Application ===" npm run build - echo "===== Start Application =====" + echo "=== Start Application ===" pm2 start "$SCRIPT_NAME" From ff4167b2210a442f0df9a9eddfb43c380775f9e0 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 17 Mar 2026 17:38:40 +0530 Subject: [PATCH 03/20] fix(*): added the environment name in deployment pipeline --- .github/workflows/cd-production.yml | 1 + .github/workflows/cd-staging.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 6082030..43d3953 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -9,6 +9,7 @@ jobs: deploy: name: Deploy Kaapi Frontend to EC2 Production runs-on: ubuntu-latest + environment: AWS_PRODUCTION_ENV steps: - name: Checkout Repository diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index 6e1a1ed..7a71765 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -9,6 +9,7 @@ jobs: deploy: name: Deploy Kaapi Frontend to EC2 Staging runs-on: ubuntu-latest + environment: AWS_STAGING_ENV steps: - name: Checkout Repository From 8d7991711cd9bf3669fb4cdc26e6211f508c640b Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 17 Mar 2026 17:53:55 +0530 Subject: [PATCH 04/20] fix(*): update naming convention --- .github/workflows/cd-production.yml | 9 +++++---- .github/workflows/cd-staging.yml | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 43d3953..089801c 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -18,7 +18,8 @@ jobs: - name: Deploy via SSH uses: appleboy/ssh-action@v1.0.3 env: - SCRIPT_NAME: ${{ secrets.PM2_APP_NAME }} + PM2_APP_NAME: ${{ secrets.PM2_APP_NAME }} + BUILD_DIRECTORY: ${{ secrets.BUILD_DIRECTORY }} with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USER }} @@ -28,13 +29,13 @@ jobs: set -e echo "=== Navigating to Project Directory ===" - cd ${{ secrets.PROJECT_PATH }} + cd $BUILD_DIRECTORY echo "=== Fetch Latest Code ===" git pull origin release echo "=== Stop Running Application ===" - pm2 stop "$SCRIPT_NAME" || true + pm2 stop "$PM2_APP_NAME" || true echo "=== Install Dependencies ===" npm ci @@ -43,4 +44,4 @@ jobs: npm run build echo "=== Start Application ===" - pm2 start "$SCRIPT_NAME" + pm2 start "$PM2_APP_NAME" diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index 7a71765..b06eb2f 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -18,7 +18,8 @@ jobs: - name: Deploy via SSH uses: appleboy/ssh-action@v1.0.3 env: - SCRIPT_NAME: ${{ secrets.PM2_APP_NAME }} + PM2_APP_NAME: ${{ secrets.PM2_APP_NAME }} + BUILD_DIRECTORY: ${{ secrets.BUILD_DIRECTORY }} with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USER }} @@ -28,13 +29,13 @@ jobs: set -e echo "=== Navigating to Project Directory ===" - cd ${{ secrets.PROJECT_PATH }} + cd $BUILD_DIRECTORY echo "=== Fetch Latest Code ===" git pull origin main echo "=== Stop Running Application ===" - pm2 stop "$SCRIPT_NAME" || true + pm2 stop "$PM2_APP_NAME" || true echo "=== Install Dependencies ===" npm ci @@ -43,4 +44,4 @@ jobs: npm run build echo "=== Start Application ===" - pm2 start "$SCRIPT_NAME" + pm2 start "$PM2_APP_NAME" From e8ca6ee6b8c6487676a4e92eb82418fdab3c3a32 Mon Sep 17 00:00:00 2001 From: Prajna1999 Date: Wed, 18 Mar 2026 14:46:26 +0530 Subject: [PATCH 05/20] feat: testing CD on branch --- .github/workflows/cd-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index b06eb2f..8dc9b9d 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -3,7 +3,7 @@ name: Deploy Kaapi to EC2 Staging on: push: branches: - - main + - feat/frontend-cicd-deployment jobs: deploy: From c1eb2e5d290e1a86df00ab3d5a245af1e1ff99a6 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Fri, 20 Mar 2026 18:09:33 +0530 Subject: [PATCH 06/20] fix(*): update the readme and prduction deployment also --- .github/workflows/cd-production.yml | 4 ++-- README.md | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 089801c..7e63353 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -2,8 +2,8 @@ name: Deploy Kaapi to EC2 Production on: push: - branches: - - release + tags: + - "v*" # Deploy only when tags like v1.0.0, v2.1.0, etc., are created jobs: deploy: diff --git a/README.md b/README.md index e4b76fc..9876298 100644 --- a/README.md +++ b/README.md @@ -106,20 +106,27 @@ Deployments are automated via a GitHub Actions CD pipeline that SSHes into the E ### Branch Strategy -| Branch | Environment | -| --------- | ----------- | -| `main` | Staging | -| `release` | Production | +| Trigger | Environment | +| ------------------------------------- | ----------- | +| Push to `main` | Staging | +| Tag matching `v*.*.*` (e.g. `v1.0.0`) | Production | ### Pipeline Steps -On every push to `main` or `release`, the pipeline automatically: +**Staging** — on every push to `main`, the pipeline automatically: 1. SSHes into the EC2 instance 2. Runs `git pull` to fetch the latest code 3. Runs `npm run build` to create an optimized production build 4. Restarts the server to apply the new build +**Production** — on every version tag (e.g. `v1.0.0`, `v2.1.0`), the pipeline automatically: + +1. SSHes into the EC2 instance +2. Runs `git fetch --tags` and checks out the tag +3. Runs `npm run build` to create an optimized production build +4. Restarts the server to apply the new build + --- ## Learn More From b5dd403d46c103134a28435055e0c03e70adfbec Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 7 Apr 2026 22:56:56 +0530 Subject: [PATCH 07/20] feat(*): for the deployment use aws ssm instead of ssh --- .github/workflows/cd-production.yml | 50 +++++++++++------------------ .github/workflows/cd-staging.yml | 50 +++++++++++------------------ 2 files changed, 38 insertions(+), 62 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 7e63353..51d004f 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -7,41 +7,29 @@ on: jobs: deploy: - name: Deploy Kaapi Frontend to EC2 Production runs-on: ubuntu-latest environment: AWS_PRODUCTION_ENV + + permissions: + packages: write + contents: read + attestations: write + id-token: write steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - - name: Deploy via SSH - uses: appleboy/ssh-action@v1.0.3 - env: - PM2_APP_NAME: ${{ secrets.PM2_APP_NAME }} - BUILD_DIRECTORY: ${{ secrets.BUILD_DIRECTORY }} + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v6 with: - host: ${{ secrets.EC2_HOST }} - username: ${{ secrets.EC2_USER }} - key: ${{ secrets.EC2_SSH_KEY }} - script_stop: true - script: | - set -e - - echo "=== Navigating to Project Directory ===" - cd $BUILD_DIRECTORY - - echo "=== Fetch Latest Code ===" - git pull origin release - - echo "=== Stop Running Application ===" - pm2 stop "$PM2_APP_NAME" || true - - echo "=== Install Dependencies ===" - npm ci - - echo "=== Build Application ===" - npm run build - - echo "=== Start Application ===" - pm2 start "$PM2_APP_NAME" + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Deploy via SSM + run: | + aws ssm send-command \ + --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=["git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --region ${{ secrets.AWS_REGION }} diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index 8dc9b9d..2ef7bf9 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -7,41 +7,29 @@ on: jobs: deploy: - name: Deploy Kaapi Frontend to EC2 Staging runs-on: ubuntu-latest environment: AWS_STAGING_ENV + permissions: + packages: write + contents: read + attestations: write + id-token: write + steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - - name: Deploy via SSH - uses: appleboy/ssh-action@v1.0.3 - env: - PM2_APP_NAME: ${{ secrets.PM2_APP_NAME }} - BUILD_DIRECTORY: ${{ secrets.BUILD_DIRECTORY }} + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v6 with: - host: ${{ secrets.EC2_HOST }} - username: ${{ secrets.EC2_USER }} - key: ${{ secrets.EC2_SSH_KEY }} - script_stop: true - script: | - set -e - - echo "=== Navigating to Project Directory ===" - cd $BUILD_DIRECTORY - - echo "=== Fetch Latest Code ===" - git pull origin main - - echo "=== Stop Running Application ===" - pm2 stop "$PM2_APP_NAME" || true - - echo "=== Install Dependencies ===" - npm ci - - echo "=== Build Application ===" - npm run build - - echo "=== Start Application ===" - pm2 start "$PM2_APP_NAME" + role-to-assume: ${{ secrets.AWS_ROLE_ARN }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Deploy via SSM + run: | + aws ssm send-command \ + --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=["git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --region ${{ secrets.AWS_REGION }} From f050099103a889cc173beb217c8b9dd463d48c4d Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:30:07 +0530 Subject: [PATCH 08/20] fix(*): formatting --- .github/workflows/cd-production.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 51d004f..5fbea59 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -9,7 +9,7 @@ jobs: deploy: runs-on: ubuntu-latest environment: AWS_PRODUCTION_ENV - + permissions: packages: write contents: read From da3cece272c070ef9f85fd46d0e8fb05e8dc4132 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Mon, 13 Apr 2026 12:40:10 +0530 Subject: [PATCH 09/20] fix(*): test staging automate deployment --- app/(main)/configurations/prompt-editor/page.tsx | 15 ++------------- app/components/user-menu/Branding.tsx | 2 +- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/app/(main)/configurations/prompt-editor/page.tsx b/app/(main)/configurations/prompt-editor/page.tsx index 7e4b4e0..3c51ce6 100644 --- a/app/(main)/configurations/prompt-editor/page.tsx +++ b/app/(main)/configurations/prompt-editor/page.tsx @@ -396,19 +396,8 @@ function PromptEditorContent() { style={{ backgroundColor: colors.bg.secondary }} >
-
-

+

+

Loading configuration...

diff --git a/app/components/user-menu/Branding.tsx b/app/components/user-menu/Branding.tsx index 19353d4..665b567 100644 --- a/app/components/user-menu/Branding.tsx +++ b/app/components/user-menu/Branding.tsx @@ -2,7 +2,7 @@ const Branding = () => { return (

- Kaapi Konsole + Kaapi Konsole Staging

Tech4Dev

From 8df5ff50403b3faa687c26d100f6bde8df7be734 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 10:43:07 +0530 Subject: [PATCH 10/20] fix(*): fix the home root issue from the ssm agent --- .github/workflows/cd-production.yml | 2 +- .github/workflows/cd-staging.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 5fbea59..c47b0e7 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/root && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index 2ef7bf9..df468f4 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/root && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From d51ef7e59a9ca84ce3bfed284d347dda9990d2c8 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 10:51:50 +0530 Subject: [PATCH 11/20] fix(*): added the full npm path instead of the full --- .github/workflows/cd-production.yml | 2 +- .github/workflows/cd-staging.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index c47b0e7..100ff83 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/root && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/root && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index df468f4..d9bc940 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/root && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/root && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From 09570ad450f8b05e67e781e2c6d30c3d30b596cb Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 10:58:50 +0530 Subject: [PATCH 12/20] fix(*): update the pm2 script --- .github/workflows/cd-production.yml | 2 +- .github/workflows/cd-staging.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 100ff83..be0b31d 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/root && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index d9bc940..25523f7 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/root && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 start ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From c9304699fe597cd129fa4b95bf1d881a7ea49f9d Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:10:42 +0530 Subject: [PATCH 13/20] fix(*): update the pm2 script --- .github/workflows/cd-production.yml | 2 +- .github/workflows/cd-staging.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index be0b31d..2b2bf9e 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PM2_HOME=/home/ubuntu/.pm2 && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 restart ${{ secrets.PM2_APP_NAME }} || pm2 start npm --name ${{ secrets.PM2_APP_NAME }} -- start"]' \ --region ${{ secrets.AWS_REGION }} diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index 25523f7..e8e2792 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PM2_HOME=/home/ubuntu/.pm2 && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 restart ${{ secrets.PM2_APP_NAME }} || pm2 start npm --name ${{ secrets.PM2_APP_NAME }} -- start"]' --region ${{ secrets.AWS_REGION }} From a5fb8a4c97eeab120fb9a67af53b124f139d89ef Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:15:49 +0530 Subject: [PATCH 14/20] fix(*): added the full pm2 path --- .github/workflows/cd-production.yml | 2 +- .github/workflows/cd-staging.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cd-production.yml b/.github/workflows/cd-production.yml index 2b2bf9e..bb91a52 100644 --- a/.github/workflows/cd-production.yml +++ b/.github/workflows/cd-production.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PM2_HOME=/home/ubuntu/.pm2 && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin release && npm ci && npm run build && pm2 restart ${{ secrets.PM2_APP_NAME }} || pm2 start npm --name ${{ secrets.PM2_APP_NAME }} -- start"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index e8e2792..d791342 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PM2_HOME=/home/ubuntu/.pm2 && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && pm2 restart ${{ secrets.PM2_APP_NAME }} || pm2 start npm --name ${{ secrets.PM2_APP_NAME }} -- start"]' + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From e3089756a20507af4f275f549b241a0d15d95efa Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:24:37 +0530 Subject: [PATCH 15/20] fix(*): few updates --- .github/workflows/cd-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index d791342..b32660b 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin feat/frontend-cicd-deployment && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From e1a0f8dc7dacc920f2c025d908118b25b9decfb5 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:27:44 +0530 Subject: [PATCH 16/20] fix(*): revert the last deployment changes --- .github/workflows/cd-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index b32660b..d791342 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin feat/frontend-cicd-deployment && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From b9217d9f295b0fc25c28ec1361da918d89b47ea8 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:30:24 +0530 Subject: [PATCH 17/20] fix(*): update the branding component --- app/components/user-menu/Branding.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/user-menu/Branding.tsx b/app/components/user-menu/Branding.tsx index 665b567..19353d4 100644 --- a/app/components/user-menu/Branding.tsx +++ b/app/components/user-menu/Branding.tsx @@ -2,7 +2,7 @@ const Branding = () => { return (

- Kaapi Konsole Staging + Kaapi Konsole

Tech4Dev

From 56228fdc030ef9ad8546671e9a88218d4e52764f Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:30:56 +0530 Subject: [PATCH 18/20] fix(*): update the deployment --- .github/workflows/cd-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index d791342..b32660b 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin feat/frontend-cicd-deployment && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From c0479801746897267e314646082f2481ebc74cb6 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:39:45 +0530 Subject: [PATCH 19/20] fix(*): update the branch name of the staging deployment script --- .github/workflows/cd-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index b32660b..d791342 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -31,5 +31,5 @@ jobs: aws ssm send-command \ --instance-ids "${{ secrets.EC2_INSTANCE_ID }}" \ --document-name "AWS-RunShellScript" \ - --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin feat/frontend-cicd-deployment && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ + --parameters 'commands=["export HOME=/home/ubuntu && export PATH=/data/.nvm/versions/node/v24.11.0/bin:$PATH && git config --global --add safe.directory ${{ secrets.BUILD_DIRECTORY }} && set -e && cd ${{ secrets.BUILD_DIRECTORY }} && git pull origin main && npm ci && npm run build && sudo -u ubuntu PM2_HOME=/home/ubuntu/.pm2 /data/.nvm/versions/node/v24.11.0/bin/pm2 restart ${{ secrets.PM2_APP_NAME }}"]' \ --region ${{ secrets.AWS_REGION }} From b5e28d9baab11fd210779c73e333ae02bad354c2 Mon Sep 17 00:00:00 2001 From: Ayush8923 <80516839+Ayush8923@users.noreply.github.com> Date: Tue, 14 Apr 2026 11:40:28 +0530 Subject: [PATCH 20/20] fix(*): update the push base branch --- .github/workflows/cd-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cd-staging.yml b/.github/workflows/cd-staging.yml index d791342..dd9c2cd 100644 --- a/.github/workflows/cd-staging.yml +++ b/.github/workflows/cd-staging.yml @@ -3,7 +3,7 @@ name: Deploy Kaapi to EC2 Staging on: push: branches: - - feat/frontend-cicd-deployment + - main # Deploy only when changes are pushed to the main branch jobs: deploy: