Skip to content

Commit

Permalink
Migrate ssr-web github actions (#3782)
Browse files Browse the repository at this point in the history
* Migrate ssr-web github actions

* Disable deploy

* Enable deploy

* Add image output

* Fix output

* Change to main branch

* Change path check

* Remove ssr-web from waypoint.hcl
  • Loading branch information
pcjun97 committed Jan 15, 2024
1 parent 0efd058 commit f2858fe
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 182 deletions.
31 changes: 0 additions & 31 deletions .github/actions/deploy-ssr-web/action.yml

This file was deleted.

57 changes: 38 additions & 19 deletions .github/workflows/manual-ssr-web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,47 +7,66 @@ on:
description: Deployment environment
required: false
default: staging
workflow_call:
inputs:
environment:
required: false
type: string
default: staging

permissions:
contents: read
id-token: write

jobs:
deploy:
build:
name: Build Docker image
runs-on: ubuntu-latest
outputs:
image: ${{ steps.docker-ecr.outputs.tag_sha }}
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init

- name: Set up env
env:
INPUT_ENVIRONMENT: ${{ github.event.inputs.environment }}
INPUT_ENVIRONMENT: ${{ inputs.environment }}
run: |
if [ "$INPUT_ENVIRONMENT" = "production" ]; then
echo "AWS_ROLE_ARN=arn:aws:iam::120317779495:role/waypoint" >> $GITHUB_ENV
echo "WAYPOINT_SERVER_TOKEN=${{ secrets.PRODUCTION_WAYPOINT_SERVER_TOKEN }}" >> $GITHUB_ENV
echo "WAYPOINT_SERVER_ADDR=${{ secrets.PRODUCTION_WAYPOINT_SERVER_ADDR }}" >> $GITHUB_ENV
echo "HUB_URL=https://hub.cardstack.com" >> $GITHUB_ENV
cp waypoint.prod.hcl waypoint.hcl
elif [ "$INPUT_ENVIRONMENT" = "staging" ]; then
echo "AWS_ROLE_ARN=arn:aws:iam::680542703984:role/waypoint" >> $GITHUB_ENV
echo "WAYPOINT_SERVER_TOKEN=${{ secrets.STAGING_WAYPOINT_SERVER_TOKEN }}" >> $GITHUB_ENV
echo "WAYPOINT_SERVER_ADDR=${{ secrets.STAGING_WAYPOINT_SERVER_ADDR }}" >> $GITHUB_ENV
echo "HUB_URL=https://hub-staging.stack.cards" >> $GITHUB_ENV
else
echo "unrecognized environment"
exit 1;
fi
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2.0.0
with:
role-to-assume: ${{ env.AWS_ROLE_ARN }}
aws-region: us-east-1

- name: Deploy ssr-web
uses: ./.github/actions/deploy-ssr-web
- name: Build
env:
SENTRY_DSN: ${{ secrets.SSR_WEB_CLIENT_SENTRY_DSN }}
SSR_WEB_ENVIRONMENT: ${{ inputs.environment }}
run: yarn build:ssr-web:${{ inputs.environment }}

- name: Move dist content
run: mv dist deployment/
working-directory: packages/ssr-web

- uses: cardstack/gh-actions/docker-ecr@main
id: docker-ecr
with:
environment: ${{ github.event.inputs.environment }}
discord_webhook: ${{ secrets.DISCORD_WEBHOOK }}
repository: "ssr-web-${{ inputs.environment }}"
environment: ${{ inputs.environment }}
dockerfile: "packages/ssr-web/deployment/Dockerfile"
context: "packages/ssr-web/deployment"

deploy:
needs: [build]
name: Deploy to AWS ECS
uses: cardstack/gh-actions/.github/workflows/ecs-deploy.yml@main
secrets: inherit
with:
container-name: "ssr-web"
environment: ${{ inputs.environment }}
cluster: ${{ inputs.environment }}
service-name: "ssr-web-${{ inputs.environment }}"
image: ${{ needs.build.outputs.image }}
27 changes: 6 additions & 21 deletions .github/workflows/push-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ jobs:
- 'packages/cardpay-sdk/**'
- 'packages/did-resolver/**'
- '.github/workflows/push-main.yml'
- '.github/actions/deploy-ssr-web/**'
- '.github/workflows/manual-ssr-web.yml'
- 'yarn.lock'
- 'waypoint.hcl'
safe-tools-client:
Expand Down Expand Up @@ -223,29 +223,14 @@ jobs:
environment: staging
discord_webhook: ${{ secrets.DISCORD_WEBHOOK }}

deploy-ssr-web-staging:
deploy-ssr-web:
name: Deploy ssr-web
needs: change_check
if: ${{ needs.change_check.outputs.ssr_web == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2.0.0
with:
role-to-assume: arn:aws:iam::680542703984:role/waypoint
aws-region: us-east-1
- name: Deploy ssr-web
uses: ./.github/actions/deploy-ssr-web
env:
HUB_URL: https://hub-staging.stack.cards
SENTRY_DSN: ${{ secrets.SSR_WEB_CLIENT_SENTRY_DSN }}
WAYPOINT_SERVER_TOKEN: ${{ secrets.STAGING_WAYPOINT_SERVER_TOKEN }}
WAYPOINT_SERVER_ADDR: ${{ secrets.STAGING_WAYPOINT_SERVER_ADDR }}
with:
environment: staging
discord_webhook: ${{ secrets.DISCORD_WEBHOOK }}
uses: ./.github/workflows/manual-ssr-web.yml
secrets: inherit
with:
environment: "staging"

deploy-boxel:
name: Deploy boxel to S3 bucket
Expand Down
56 changes: 0 additions & 56 deletions waypoint.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -372,61 +372,6 @@ app "hub-event-listener" {
}
}

app "ssr-web" {
path = "./packages/ssr-web/deployment"

build {
use "docker" {
dockerfile = "Dockerfile"
buildkit = true
platform = "linux/amd64"
}

registry {
use "aws-ecr" {
region = "us-east-1"
repository = "ssr-web-staging"
tag = "latest"
}
}
}

deploy {
use "aws-ecs" {
service_port = 4000
region = "us-east-1"
cpu = "512"
memory = "1024"
architecture = "x86_64"
cluster = "ssr-web-staging"
count = 2
subnets = ["subnet-09af2ce7fb316890b", "subnet-08c7d485ed397ca69"]
security_group_ids = ["sg-00c44baca348e403b"]
task_role_name = "ssr-web-ecs-task"
execution_role_name = "ssr-web-ecs-task-execution"

alb {
subnets = ["subnet-09af2ce7fb316890b", "subnet-08c7d485ed397ca69"]
load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-1:680542703984:loadbalancer/app/waypoint-ecs-ssr-web/03ae8931b95ea734"
certificate = "arn:aws:acm:us-east-1:680542703984:certificate/8b232d17-3bb7-41f5-abc0-7b32b0d5190c"
}

static_environment = {
ENVIRONMENT = "staging"
SSR_WEB_ENVIRONMENT = "staging"
}

secrets = {
SSR_WEB_SERVER_SENTRY_DSN = "arn:aws:ssm:us-east-1:680542703984:parameter/staging/ssr-web/SSR_WEB_SERVER_SENTRY_DSN"
}
}
}

url {
auto_hostname = false
}
}

app "reward-submit-lambda" {
path = "./packages/reward-root-submitter"

Expand Down Expand Up @@ -462,4 +407,3 @@ app "reward-submit-lambda" {
auto_hostname = false
}
}

55 changes: 0 additions & 55 deletions waypoint.prod.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -385,61 +385,6 @@ app "hub-event-listener" {
}
}

app "ssr-web" {
path = "./packages/ssr-web/deployment"

build {
use "docker" {
dockerfile = "Dockerfile"
buildkit = true
platform = "linux/amd64"
}

registry {
use "aws-ecr" {
region = "us-east-1"
repository = "ssr-web-prod"
tag = "latest"
}
}
}

deploy {
use "aws-ecs" {
service_port = 4000
region = "us-east-1"
cpu = "512"
memory = "1024"
architecture = "x86_64"
cluster = "ssr-web-prod"
count = 2
subnets = ["subnet-0c22641bd41cbdd1e", "subnet-01d36d7bcd0334fc0"]
security_group_ids = ["sg-0c8b6a2abf52d009a"]
task_role_name = "ssr-web-ecs-task"
execution_role_name = "ssr-web-ecs-task-execution"

alb {
subnets = ["subnet-0c22641bd41cbdd1e", "subnet-01d36d7bcd0334fc0"]
load_balancer_arn = "arn:aws:elasticloadbalancing:us-east-1:120317779495:loadbalancer/app/waypoint-ecs-ssr-web/f1022acdebbb0fce"
certificate = "arn:aws:acm:us-east-1:120317779495:certificate/e1d6a1c7-456e-4058-b90b-9c603a65734d"
}

static_environment = {
ENVIRONMENT = "production"
SSR_WEB_ENVIRONMENT = "production"
}

secrets = {
SSR_WEB_SERVER_SENTRY_DSN = "arn:aws:ssm:us-east-1:120317779495:parameter/production/ssr-web/SSR_WEB_SERVER_SENTRY_DSN"
}
}
}

url {
auto_hostname = false
}
}

app "reward-submit-lambda" {
path = "./packages/reward-root-submitter"

Expand Down

0 comments on commit f2858fe

Please sign in to comment.