Merge pull request #229 from johnchoi96/snyk-upgrade-d925401e7052e619… #128
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Automatically deploys React app to GitHub Pages using GitHub Actions | |
# Update 07/26/2024: Simultaneously deploys app to AWS on johnchoi96.com | |
name: Deploy | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push events only for the "main" branch | |
push: | |
branches: [ "main" ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
deploy-for-gh-pages: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- uses: actions/checkout@v3 | |
- run: npm config set legacy-peer-deps true | |
- run: npm ci | |
- run: npm run build | |
env: | |
CI: false | |
- run: git config user.name "github-actions" | |
- run: git config user.email "[email protected]" | |
- run: git --work-tree build add --all | |
- run: git commit -m "Automatic Deploy action run by github-actions" | |
- run: git push origin HEAD:gh-pages --force | |
deploy-for-aws: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Set legacy peer deps to true | |
run: npm config set legacy-peer-deps true | |
- name: Install dependencies | |
run: npm ci | |
- name: Build app | |
run: npm run build | |
- name: Upload to S3 | |
uses: jakejarvis/s3-sync-action@master | |
with: | |
args: --acl public-read | |
env: | |
SOURCE_DIR: build/ | |
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_REGION: 'us-east-2' |