Merge pull request #813 from culturecreates/feature/issue-807 #73
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
name: Production build and deploy to S3 | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build-and-deploy: | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.S3_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SECRET_ACCESS_KEY }} | |
AWS_REGION: ca-central-1 | |
WEBHOSTING_BUCKET_NAME: cms.footlight.io | |
runs-on: ubuntu-latest | |
container: | |
image: sleavely/node-awscli:14.x | |
steps: | |
- name: checkout | |
uses: actions/checkout@v2 | |
- name: setup node | |
run: npm install | |
- name: build | |
run: npm run build:production | |
# Upload to S3 | |
- name: sync s3 | |
run: aws s3 sync ./build s3://${{env.WEBHOSTING_BUCKET_NAME}}/ --acl public-read --delete --exclude index.html | |
- name: set cache-control on index.html | |
run: aws s3 cp ./build/index.html s3://${{env.WEBHOSTING_BUCKET_NAME}}/index.html --metadata-directive REPLACE --cache-control max-age=0,s-maxage=86400 --acl public-read --content-type text/html | |
# Invalidate CloudFront (this action) | |
- name: Invalidate CloudFront | |
uses: chetan/invalidate-cloudfront-action@v2 | |
env: | |
DISTRIBUTION: E3S97I9K4Q2UXB | |
PATHS: "/*" | |
- name: Send Email on Success | |
if: success() | |
run: curl --request POST --url https://api.sendgrid.com/v3/mail/send --header "Authorization:Bearer ${{ secrets.SENDGRID_API_KEY }}" --header "Content-Type:application/json" --data '{"personalizations":[{"to":[{"email":"${{ secrets.SENDGRID_TO_EMAIL }}"}],"subject":"Footlight CMS Deployment"}],"from":{"email":"${{ secrets.SENDGRID_FROM_EMAIL }}"},"content":[{"type":"text/html","value":"<div>Hi,<br>I'm excited to announce that we have just released a new version of Footlight CMS! The latest release not can be found <a href = 'https://github.com/culturecreates/footlight-app/releases/latest'>here</a>.<br><br>Best,<br>Footlight admin</div>"}]}' |