Skip to content

PR - 156

PR - 156 #112

name: PR Deployment Previews
run-name: PR - ${{ github.event.pull_request.number || '0' }}
on:
pull_request:
defaults:
run:
working-directory: ./platforms/web
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
timeout-minutes: 10
environment:
name: Deployment Previews
url: ${{ format('https://pr-{0}.{1}?app-config={2}', github.event.pull_request.number || '0' , vars.PREVIEW_DOMAIN, vars.PREVIEW_DEFAULT_CONFIG) }}
if: ${{ vars.DEPLOYMENT_PREVIEWS != '' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install packages
run: yarn install --frozen-lockfile
- name: Build
run: |
yarn build
env:
MODE: demo
APP_GTM_TAG_ID: ${{ vars.APP_GTM_TAG_ID }}
APP_FOOTER_TEXT: ${{ vars.APP_FOOTER_TEXT }}
APP_BODY_FONT_FAMILY: ${{ vars.APP_BODY_FONT_FAMILY }}
APP_BODY_ALT_FONT_FAMILY: ${{ vars.APP_BODY_ALT_FONT_FAMILY }}
APP_DEFAULT_CONFIG_SOURCE: ${{ vars.APP_DEFAULT_CONFIG_SOURCE }}
APP_PLAYER_LICENSE_KEY: ${{ vars.APP_PLAYER_LICENSE_KEY }}
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ vars.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ vars.AWS_REGION }}
- name: Copy dist files to S3 Bucket
run: |
aws s3 sync build/public s3://$BUCKET/$DIR --cache-control max-age=60 --delete
env:
BUCKET: ${{ vars.BUCKET }}
DIR: ${{ github.event.pull_request.number || '0' }}
- name: Set different cache control for index.html
run: |
aws s3 cp build/public/index.html s3://$BUCKET/$DIR/index.html --cache-control max-age=0,no-cache
env:
BUCKET: ${{ vars.BUCKET }}
DIR: ${{ github.event.pull_request.number || '0' }}
- name: Set different cache control for files in assets folder
run: |
aws s3 cp build/public/assets s3://$BUCKET/$DIR/assets --cache-control max-age=31536000 --recursive
env:
BUCKET: ${{ vars.BUCKET }}
DIR: ${{ github.event.pull_request.number || '0' }}
- name: Invalidate cloudfront distribution
run: aws cloudfront create-invalidation --distribution-id $CLOUDFRONT_ID --paths "/$DIR/images/*" "/$DIR/*.*"
env:
CLOUDFRONT_ID: ${{ vars.CLOUDFRONT_ID }}
DIR: ${{ github.event.pull_request.number || '0' }}