44 lines (42 loc) · 1.64 KB
/
deploy_docs.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
name: Build & Deploy API Docs
on:
workflow_dispatch:
jobs:
build-deploy:
name: Build_and_Deploy_Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v1
with:
node-version: '12.x'
- run: yarn install
working-directory: api/docs
- run: yarn build
working-directory: api/docs
- uses: jakejarvis/s3-sync-action@master
with:
# We don't pass --delete so outdated assets will continue to be served. This ensures browsers with
# cached html files can still fetch the JS assets referred to.
args: --acl public-read --follow-symlinks
env:
AWS_S3_BUCKET: 'apidocs.covidactnow.org'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SOURCE_DIR: 'api/docs/build/' # optional: defaults to entire repository
- name: API Docs Cloudfront Distribution Cache Invalidation
uses: awact/cloudfront-action@master
env:
SOURCE_PATH: '/*'
AWS_REGION: 'us-east-1'
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
DISTRIBUTION_ID: ${{ secrets.API_DOCS_CLOUDFRONT_DISTRIBUTION_ID }}
- name: Slack notification
if: always()
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_DEV_ALERTS }}
STATUS: ${{job.status}}
uses: Ilshidur/action-slack@fb92a78a305a399cd6d8ede99d641f2b9224daf3
with:
args: 'API docs deploy completed successfully'