name: 🚀 Deploy to AWS on: workflow_dispatch: push: branches: - master tags: - '*' paths: - api/** - serverless.yml - package.json jobs: deploy-api: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 16 - name: Install Serverless CLI and dependencies run: | npm i -g serverless yarn - name: Deploy to AWS env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: serverless deploy deploy-frontend: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 16 - name: Install dependencies and build run: | yarn install yarn build - name: Upload to S3 uses: jakejarvis/s3-sync-action@master with: args: --exclude 'node_modules/*' --follow-symlinks --delete env: AWS_S3_BUCKET: web-check-frontend AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_REGION: 'us-east-1' - name: Invalidate CloudFront cache uses: chetan/invalidate-cloudfront-action@v2.4 env: DISTRIBUTION: E30XKAM2TG9FD8 PATHS: '/*' AWS_REGION: 'us-east-1' AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}