Skip to content

Merge pull request #552 from osu-wams/DD-1683-deprecate-student-view #352

Merge pull request #552 from osu-wams/DD-1683-deprecate-student-view

Merge pull request #552 from osu-wams/DD-1683-deprecate-student-view #352

name: Build and Push Server Application to AWS DEVELOPMENT
on:
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: yarn install, lint, test
run: |
yarn install --frozen-lockfile
yarn run lint
yarn run test:coverage -w 1 --silent
env:
CI: true
FONTAWESOME_TOKEN: ${{ secrets.FONTAWESOME_TOKEN }}
GITHUB_NPM_TOKEN: ${{ secrets.GH_NPM_TOKEN }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_REGION: ${{ secrets.AWS_REGION }}
- name: report code coverage
run: npx codecov@3
if: matrix.node-version == '14.x'
env:
CI: true
FONTAWESOME_TOKEN: not-actually-used-but-necessary-here
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
GITHUB_NPM_TOKEN: not-actually-used-but-necessary-here
build:
needs: test
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Build client
run: |
yarn install --frozen-lockfile
yarn run build
build_date=$(date +%Y%m%d%H%M%S)
git_sha=$(git rev-parse --short ${{ github.sha }})
app_version=$(expr ${build_date}-${git_sha})
expr ${app_version} > build/app_version
env:
CI: true
FONTAWESOME_TOKEN: ${{ secrets.FONTAWESOME_TOKEN }}
GITHUB_NPM_TOKEN: ${{ secrets.GH_NPM_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
REACT_APP_ENV: development
- name: Copy client to S3 and flush Cloudfront cache for DEVELOPMENT
run: |
COMMIT_LINK=https://github.com/$GITHUB_REPOSITORY/commit/$GITHUB_SHA
COMMIT_MESSAGE=$(git log --format=%B -n 1 $GITHUB_SHA | cat -)
POST_DATA="{\"@type\": \"MessageCard\", \"@context\": \"http://schema.org/extensions\", \"themeColor\": \"D600D2\", \"summary\": \"DX Development FrontEnd Deployment\", \"sections\": [{ \"activityTitle\": \"FrontEnd: development\", \"activitySubtitle\": \"Status: DEPLOYMENT_STARTED, Message: $COMMIT_MESSAGE $COMMIT_LINK\", \"markdown\": false }] }"
curl -d "${POST_DATA}" -H "Content-Type: application/json" -X POST ${{ secrets.TEAMS_WAMS_CICD_HOOK_URL }}
s3_bucket_url=s3://${{ secrets.AWS_S3_BUCKET_URL_PREFIX }}-development
aws s3 sync build ${s3_bucket_url}
aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_DISTRIBUTION_ID_DEV }} --paths /index.html
POST_DATA="{\"@type\": \"MessageCard\", \"@context\": \"http://schema.org/extensions\", \"themeColor\": \"D600D2\", \"summary\": \"DX Development Frontend Deployment\", \"sections\": [{ \"activityTitle\": \"FrontEnd: development\", \"activitySubtitle\": \"Status: DEPLOYMENT_COMPLETE, Message: $COMMIT_MESSAGE $COMMIT_LINK\", \"markdown\": false }] }"
curl -d "${POST_DATA}" -H "Content-Type: application/json" -X POST ${{ secrets.TEAMS_WAMS_CICD_HOOK_URL }}
env:
FONTAWESOME_TOKEN: ${{ secrets.FONTAWESOME_TOKEN }}
GITHUB_NPM_TOKEN: ${{ secrets.GH_NPM_TOKEN }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }}