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: shallwefootball/s3-upload-action@v1.3.3 id: S3 with: aws_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} aws_bucket: 'web-check-frontend' source_dir: '' - 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 }}