Skip to content

ci: use pnpm

ci: use pnpm #26

Workflow file for this run

name: Deploy Sdai-frontend UI to S3 Bucket
on:
push:
branches:
- develop
- staging
jobs:
deploy:
name: Deploy to S3 Bucket
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Remove broken apt repos [Ubuntu]
if: ${{ matrix.os }} == 'ubuntu-latest'
run: |
for apt_file in `grep -lr microsoft /etc/apt/sources.list.d/`; do sudo rm $apt_file; done
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/cache@v2
with:
path: "**/node_modules"
key: ${{ runner.os }}-modules-${{ hashFiles('**/pnpm-lock.yaml') }}
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 18.17.1
- uses: pnpm/action-setup@v2
with:
version: 7
- name: Install
run: |
pnpm install
pip install awscli --upgrade --user
- name: Build Release App
if: ( github.ref == 'refs/heads/staging' || github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/main' )
run: pnpm run build
env:
CI: false # Set to True if no eslint errors
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
if: ( github.ref == 'refs/heads/staging' || github.ref == 'refs/heads/develop')
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
# Script to deploy to dev environment
- name: "Deploy to S3: development"
if: ( github.ref == 'refs/heads/develop' )
run: |
aws s3 sync dist/ s3://${{ secrets.STAGING_BUCKET_NAME }}/development/ --delete --exclude "*.html" --cache-control max-age=86400,build
aws s3 sync dist/ s3://${{ secrets.STAGING_BUCKET_NAME }}/development/ --delete --exclude "*" --include "*.html" --cache-control max-age=0,no-cache,no-store,must-revalidate --content-type text/html
# Script to deploy to staging environment
- name: "Deploy to S3: staging"
if: ( github.ref == 'refs/heads/staging' )
run: |
aws s3 sync dist/ s3://${{ secrets.STAGING_BUCKET_NAME }}/staging/ --delete --exclude "*.html" --cache-control max-age=86400,build
aws s3 sync dist/ s3://${{ secrets.STAGING_BUCKET_NAME }}/staging/ --delete --exclude "*" --include "*.html" --cache-control max-age=0,no-cache,no-store,must-revalidate --content-type text/html