Update survey links on behalf of lscharen (#2255) #107
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: Deploy Frontend Prod | |
on: | |
push: | |
branches: [main] | |
paths: | |
- "client/**/*" | |
env: | |
PR_NUMBER: ${{ github.event.number }} | |
WEB_CDN_ID: ED03LPVC4OXSW | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: client | |
strategy: | |
matrix: | |
node-version: [14.x] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v2 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Set DESTINATION_FOLDER for main | |
run: | | |
echo "DESTINATION_FOLDER=main" >> $GITHUB_ENV | |
- name: Install | |
run: npm ci | |
- name: Build | |
run: npm run build --if-present | |
env: | |
# See the client readme for more info on environment variables: | |
# https://github.com/usds/justice40-tool/blob/main/client/README.md | |
DATA_SOURCE: cdn | |
# TODO: Update main URL when either is back up | |
SITE_URL: "${{ secrets.PROD_SITE_URL }}" | |
MAPBOX_STYLES_READ_TOKEN: "${{ secrets.MAPBOX_STYLES_READ_TOKEN }}" | |
- name: Get directory contents | |
run: ls -la public | |
- name: Lint | |
run: npm run lint | |
# Disabling for now due to jsonlint - TODO: put this back | |
# - name: License Check | |
# run: npm run licenses | |
- name: Test | |
run: npm test | |
# - name: Check for security vulnerabilities | |
# run: npm audit --production | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v2 | |
with: | |
name: J40Static | |
# Upload-artifact does not support the default working directory | |
# See more: https://github.com/actions/upload-artifact/issues/87 | |
path: ./client/public | |
deploy: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v2 | |
- name: Download Artifacts | |
uses: actions/download-artifact@v2 | |
with: | |
name: J40Static | |
path: ./public | |
- name: Set DESTINATION_FOLDER for main | |
run: | | |
echo "DESTINATION_FOLDER=main" >> $GITHUB_ENV | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
aws-access-key-id: ${{ secrets.CLIENT_DEV_AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.CLIENT_DEV_AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-1 | |
- name: Deploy to Geoplatform AWS | |
run: aws s3 sync ./public/ s3://usds-geoplatform-justice40-website/justice40-tool/${{env.DESTINATION_FOLDER}} --acl public-read --delete | |
- name: Invalidate cache on AWS CDNs | |
uses: chetan/invalidate-cloudfront-action@master | |
env: | |
DISTRIBUTION: ${{env.WEB_CDN_ID}} | |
PATHS: "/*" | |
AWS_REGION: "us-east-1" | |
AWS_ACCESS_KEY_ID: ${{ secrets.CLIENT_DEV_AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.CLIENT_DEV_AWS_SECRET_ACCESS_KEY }} | |
- name: Update PR with deployed URL | |
uses: mshick/add-pr-comment@v1 | |
with: | |
message: | | |
**🚢 PR Deployed! 🚢** | |
Find it here: https://screeningtool.geoplatform.gov ! | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
repo-token-user-login: "github-actions[bot]" # The user.login for temporary GitHub tokens | |
allow-repeats: false # This is the default | |
- name: Printing deployment URLs | |
run: | | |
echo "Geoplatform official site (may or may not be up): https://screeningtool.geoplatform.gov/" | |
echo "The Cloudfront behind this official site: https://d3r1k4gynx5dw4.cloudfront.net" | |
echo "Github pages: https://usds.github.io/justice40-tool/$DESTINATION_FOLDER/en" | |
echo "The origin S3 bucket (http only) : http://usds-geoplatform-justice40-website.s3-website-us-east-1.amazonaws.com/justice40-tool/$DESTINATION_FOLDER/en" |