Skip to content

TTRPG Scheduler Deploy sjkneisler #53

TTRPG Scheduler Deploy sjkneisler

TTRPG Scheduler Deploy sjkneisler #53

Workflow file for this run

name: TTRPG Scheduler Deploy
run-name: TTRPG Scheduler Deploy ${{ github.actor }}
on:
push:
branches:
- master
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
deploybackend:
name: Deploy Backend
runs-on: ubuntu-latest
environment: sandbox
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ vars.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ vars.AWS_REGION }}
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- name: Build, tag, and push image to Amazon ECR
id: build-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: ${{ vars.ECR_REPOSITORY }}
IMAGE_TAG: ${{ github.sha }}
run: |
# Build a docker container and
# push it to ECR so that it can
# be deployed to ECS.
docker build -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG -t $ECR_REGISTRY/$ECR_REPOSITORY:latest .
docker push $ECR_REGISTRY/$ECR_REPOSITORY --all-tags
echo "image=$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG" >> $GITHUB_OUTPUT
deployfrontend:
name: Deploy Frontend
runs-on: ubuntu-latest
environment: sandbox
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ vars.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ vars.AWS_REGION }}
- name: Install dependencies
run: yarn install
- name: Generate Prisma files
run: yarn db:generate
- name: Build frontend
env:
REACT_APP_SERVER_URL: ${{ vars.REACT_APP_SERVER_URL }}
CI: false # TODO: Remove this - this was added to not treat lint warnings as errors
run: yarn build:frontend
- name: Deploy frontend S3 bucket
run: aws s3 sync ./build/ "s3://${{ vars.FRONTEND_S3_BUCKET }}" --delete