From 872831f908bf77d81738826d27f305859bad41db Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Fri, 20 Feb 2026 18:22:11 -0800 Subject: [PATCH 1/9] ci: create cd workflow --- .github/workflows/deploy.yaml | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/deploy.yaml diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml new file mode 100644 index 0000000..3bb7c90 --- /dev/null +++ b/.github/workflows/deploy.yaml @@ -0,0 +1,54 @@ +name: Build and Deploy + +on: + workflow_dispatch: + push: + branches: [ main, "feat/cd" ] + +jobs: + test: + name: Tests + uses: ./.github/workflows/ci.yaml + + build-and-push: + name: Build and Push + needs: test + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v3 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Login to Amazon ECR Public + id: login-ecr-public + uses: aws-actions/amazon-ecr-login@v2 + with: + registry-type: public + + - name: Build and Push Image + env: + REGISTRY: ${{ steps.login-ecr-public.outputs.registry }} + REGISTRY_ALIAS: d0w1o5s2 + REPOSITORY: ubcea/echo-base + TAG: ${{ github.sha }} + run: | + docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$TAG . + docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$TAG + + deploy: + name: Deploy to EC2 + needs: build-and-push + runs-on: ubuntu-latest + + steps: + - name: Stub + run: | + echo "not implemented" + exit 1 From 2e58d90b87d771713012844effe758ac019b98f4 Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Mon, 9 Mar 2026 16:45:10 -0700 Subject: [PATCH 2/9] Modify Docker build and push steps in deploy.yaml Updated Docker build and push commands to include 'latest' tag and push all tags. --- .github/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 3bb7c90..45fc147 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -39,8 +39,8 @@ jobs: REPOSITORY: ubcea/echo-base TAG: ${{ github.sha }} run: | - docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$TAG . - docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$TAG + docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$TAG -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:latest . + docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY --all-tags deploy: name: Deploy to EC2 From 0c1169aebbfe782a32afe9ee82ea0d2ffb3c9b3a Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Mon, 9 Mar 2026 17:03:16 -0700 Subject: [PATCH 3/9] Add sync-migrations step to deployment workflow --- .github/workflows/deploy.yaml | 37 ++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 45fc147..15b8c0d 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -42,9 +42,44 @@ jobs: docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$TAG -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:latest . docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY --all-tags + sync-migrations: + name: Sync Migrations + needs: test + runs-on: ubuntu-latest + + steps: + - name: Check out repository + uses: actions/checkout@v3 + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Sync dbconfig.yml + run: aws s3 sync ./dbconfig.yml s3://echo-base/${{ github.sha }}/dbconfig.yml --delete + + - name: Sync migrations + run: aws s3 sync ./migrations s3://echo-base/${{ github.sha }}/migrations --delete + + decision-gate: + name: Decision Gate + needs: + - build-and-push + - sync-migrations + runs-on: ubuntu-latest + + steps: + - name: Pass + run: | + echo "decision gate passed" + exit 0 + deploy: name: Deploy to EC2 - needs: build-and-push + needs: decision-gate runs-on: ubuntu-latest steps: From eea10cd3ffc2ee7adeadc937e08e4d468ef735ac Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Mon, 9 Mar 2026 17:08:16 -0700 Subject: [PATCH 4/9] Update S3 sync command for dbconfig.yml and migrations --- .github/workflows/deploy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 15b8c0d..68af649 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -58,8 +58,8 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: us-east-1 - - name: Sync dbconfig.yml - run: aws s3 sync ./dbconfig.yml s3://echo-base/${{ github.sha }}/dbconfig.yml --delete + - name: Sync dbconfig.yml and migrations + run: aws s3 sync . s3://echo-base/${{ github.sha }}/ --exclude '*' --include "dbconfig.yml" --include "migrations/*" - name: Sync migrations run: aws s3 sync ./migrations s3://echo-base/${{ github.sha }}/migrations --delete From 184793a1bdb43a47ce131c3946c5e2719370e841 Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Sun, 15 Mar 2026 13:32:41 -0700 Subject: [PATCH 5/9] Update S3 sync command to include compose.prod.yaml --- .github/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 68af649..010e44e 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -59,7 +59,7 @@ jobs: aws-region: us-east-1 - name: Sync dbconfig.yml and migrations - run: aws s3 sync . s3://echo-base/${{ github.sha }}/ --exclude '*' --include "dbconfig.yml" --include "migrations/*" + run: aws s3 sync . s3://echo-base/${{ github.sha }}/ --exclude '*' --include "compose.prod.yaml" --include "dbconfig.yml" --include "migrations/*" - name: Sync migrations run: aws s3 sync ./migrations s3://echo-base/${{ github.sha }}/migrations --delete From 5fdcf65048ca69db53114836ddd9e747d5240e6e Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Sun, 15 Mar 2026 14:13:24 -0700 Subject: [PATCH 6/9] Refactor deployment workflow for bootstrap sync Renamed sync-migrations job to sync-bootstrap and updated steps to sync bootstrap files instead of migrations. Adjusted job dependencies and added migration and application deployment steps. --- .github/workflows/deploy.yaml | 341 ++++++++++++++++++++++++++++++++-- 1 file changed, 328 insertions(+), 13 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 010e44e..688c236 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -42,8 +42,8 @@ jobs: docker build -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:$TAG -t $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY:latest . docker push $REGISTRY/$REGISTRY_ALIAS/$REPOSITORY --all-tags - sync-migrations: - name: Sync Migrations + sync-bootstrap: + name: Sync Bootstrap Files needs: test runs-on: ubuntu-latest @@ -58,32 +58,347 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: us-east-1 - - name: Sync dbconfig.yml and migrations + - name: Sync bootstrap files and migrations run: aws s3 sync . s3://echo-base/${{ github.sha }}/ --exclude '*' --include "compose.prod.yaml" --include "dbconfig.yml" --include "migrations/*" - - name: Sync migrations - run: aws s3 sync ./migrations s3://echo-base/${{ github.sha }}/migrations --delete - decision-gate: name: Decision Gate needs: - build-and-push + - sync-bootstrap + runs-on: ubuntu-latest + + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Check migration status + run: | + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "sql-migrate status -env=production" + ]' \ + --comment "Decision gate" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Decision gate failed with status: $STATUS" + exit 1 + fi + + sync-migrations: + name: Sync migrations + needs: + - decision-gate + runs-on: ubuntu-latest + + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Sync migration files + run: | + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "aws s3 sync s3://echo-base/${{ github.sha }} ." + ]' \ + --comment "Sync migrations" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Migration sync failed with status: $STATUS" + exit 1 + fi + + sync-images: + name: Sync images + needs: + - decision-gate + runs-on: ubuntu-latest + + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Sync images + run: | + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "docker compose --file compose.prod.yaml pull" + ]' \ + --comment "Sync images" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Image sync failed with status: $STATUS" + exit 1 + fi + + stop-application: + name: Stop application + needs: + - decision-gate + runs-on: ubuntu-latest + + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Shut down application + run: | + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "docker compose --file compose.prod.yaml down" + ]' \ + --comment "Stop application" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Application shutdown failed with status: $STATUS" + exit 1 + fi + + migrate-database: + name: Migrate database + needs: - sync-migrations + - stop-application + runs-on: ubuntu-latest + + steps: + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Sync migration files + run: | + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "sql-migrate up -env=production" + ]' \ + --comment "Migrate database" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Databse migrate failed with status: $STATUS" + exit 1 + fi + + build-application: + name: Build application + needs: + - sync-images + - stop-application runs-on: ubuntu-latest steps: - - name: Pass + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Build application run: | - echo "decision gate passed" - exit 0 + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "docker compose --file compose.prod.yaml build" + ]' \ + --comment "Build application" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Application build failed with status: $STATUS" + exit 1 + fi deploy: name: Deploy to EC2 - needs: decision-gate + needs: + - build-application + - migrate-database runs-on: ubuntu-latest steps: - - name: Stub + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + + - name: Deploy application + run: | + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "docker compose --file compose.prod.yaml up -d" + ]' \ + --comment "Deploy application" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Application deploy failed with status: $STATUS" + exit 1 + fi + + - name: Healthcheck run: | - echo "not implemented" - exit 1 + command_id=$(aws ssm send-command \ + --instance-ids ${{ secrets.AWS_INSTANCE_ID }} \ + --document-name "AWS-RunShellScript" \ + --parameters 'commands=[ + "cd /home/ubuntu/echo-base", + "export $(cat .env.deploy | xargs)", + "curl -v http://127.0.0.1:8080" + ]' \ + --comment "Deploy application" \ + --query "Command.CommandId" \ + --output text) + + aws ssm wait command-executed \ + --command-id $command_id \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} || true + + STATUS=$(aws ssm list-command-invocations \ + --instance-id ${{ secrets.AWS_INSTANCE_ID }} \ + --command-id $command_id \ + --details \ + --query "CommandInvocations[0].Status" \ + --output text) + + if [ "$STATUS" != "Success" ]; then + echo "Application deploy failed with status: $STATUS" + exit 1 + fi From 34f83af365ea8798f4294b2580fd792d9eeadb8a Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Sun, 15 Mar 2026 14:39:32 -0700 Subject: [PATCH 7/9] Change AWS region from us-east-1 to us-west-2 --- .github/workflows/deploy.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 688c236..3c48248 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -74,7 +74,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-east-1 + aws-region: us-west-2 - name: Check migration status run: | @@ -118,7 +118,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-east-1 + aws-region: us-west-2 - name: Sync migration files run: | @@ -162,7 +162,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-east-1 + aws-region: us-west-2 - name: Sync images run: | @@ -206,7 +206,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-east-1 + aws-region: us-west-2 - name: Shut down application run: | @@ -251,7 +251,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-east-1 + aws-region: us-west-2 - name: Sync migration files run: | @@ -296,7 +296,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-east-1 + aws-region: us-west-2 - name: Build application run: | @@ -341,7 +341,7 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: us-east-1 + aws-region: us-west-2 - name: Deploy application run: | From 0c493ea8612dd89c61f14433777119fe8f71376c Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Sun, 15 Mar 2026 14:45:38 -0700 Subject: [PATCH 8/9] Fix command paths and standardize step names --- .github/workflows/deploy.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 3c48248..08e5d28 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -84,7 +84,7 @@ jobs: --parameters 'commands=[ "cd /home/ubuntu/echo-base", "export $(cat .env.deploy | xargs)", - "sql-migrate status -env=production" + "/home/ubuntu/go/bin/sql-migrate status -env=production" ]' \ --comment "Decision gate" \ --query "Command.CommandId" \ @@ -107,7 +107,7 @@ jobs: fi sync-migrations: - name: Sync migrations + name: Sync Migrations needs: - decision-gate runs-on: ubuntu-latest @@ -151,7 +151,7 @@ jobs: fi sync-images: - name: Sync images + name: Sync Images needs: - decision-gate runs-on: ubuntu-latest @@ -195,7 +195,7 @@ jobs: fi stop-application: - name: Stop application + name: Stop Application needs: - decision-gate runs-on: ubuntu-latest @@ -239,7 +239,7 @@ jobs: fi migrate-database: - name: Migrate database + name: Migrate Database needs: - sync-migrations - stop-application @@ -261,7 +261,7 @@ jobs: --parameters 'commands=[ "cd /home/ubuntu/echo-base", "export $(cat .env.deploy | xargs)", - "sql-migrate up -env=production" + "/home/ubuntu/go/bin/sql-migrate up -env=production" ]' \ --comment "Migrate database" \ --query "Command.CommandId" \ @@ -284,7 +284,7 @@ jobs: fi build-application: - name: Build application + name: Build Application needs: - sync-images - stop-application From 7bc94e46f6a8b9ad51e913598d77fbb535cdfdbf Mon Sep 17 00:00:00 2001 From: Brian Shao Date: Sun, 15 Mar 2026 14:52:16 -0700 Subject: [PATCH 9/9] Update deployment branches in deploy.yaml Removed 'feat/cd' branch from deployment triggers. --- .github/workflows/deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index 08e5d28..ee18e28 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -3,7 +3,7 @@ name: Build and Deploy on: workflow_dispatch: push: - branches: [ main, "feat/cd" ] + branches: [ main ] jobs: test: