Skip to content

Commit

Permalink
Create github workflow to deploy frontend to S3
Browse files Browse the repository at this point in the history
* Ensure that action triggers only on push to main and on any changes to frontend directory
* Uploads contents in dist folder to s3 bucket
  • Loading branch information
McNaBry committed Oct 30, 2024
1 parent 1ffbe7d commit b809225
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Deploy Frontend

on:
push:
branches: [ 'main' ]

workflow_dispatch:

permissions:
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout

env:
AWS_REGION: ap-southeast-1
S3_BUCKET_NAME: app.peerprep.org

jobs:
deploy:
name: Deploy Frontend
runs-on: ubuntu-latest
environment: production

steps:
- uses: actions/checkout@v4

- name: Configure AWS credentials
id: aws-configure
uses: aws-actions/configure-aws-credentials@v4.0.2
with:
role-to-assume: arn:aws:iam::491085383176:role/github_s3_copy
role-session-name: GitHub_to_AWS_via_FederatedOIDC
aws-region: ${{ env.AWS_REGION }}

- name: Build frontend distribution
working-directory: frontend
run: npm ci && npm run build

- name: Sync distribution to S3
run: |
aws s3 sync ./frontend/dist/frontend/browser/ s3://$S3_BUCKET_NAME --delete

0 comments on commit b809225

Please sign in to comment.