Skip to content

Merge branch 'main' into feature/issue-807 #75

Merge branch 'main' into feature/issue-807

Merge branch 'main' into feature/issue-807 #75

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 -X "POST" "https://api.sendgrid.com/v3/mail/send" -H "Authorization: Bearer ${{ secrets.SENDGRID_API_KEY}}" -H "Content-Type: application/json" --data '{"personalizations": [{"to": [{"email": "${{secrets.SENDGRID_TO_EMAIL}}"}]}],"from": {"email":"${{SENDGRID_FROM_EMAIL}}"},"subject": "Footlight CMS Deployment","content": [{"type": "text/html", "value": "<p>Hi<br><br> We are excited to announce that we have just released a new version of Footlight CMS. The latest release can be found <a href = 'https://github.com/culturecreates/footlight-app/releases/latest'>here</a>.<br><br>Best,<br>Footlight admin</p>"}]}'

Check failure on line 42 in .github/workflows/build-production-deploy-s3.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/build-production-deploy-s3.yml

Invalid workflow file

You have an error in your yaml syntax on line 42