Publish schema documentation to staging website #841
Workflow file for this run
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: Publish docs to staging website (for PR) | |
run-name: Publish schema documentation to staging website | |
on: [pull_request] | |
permissions: | |
id-token: write | |
contents: read | |
jobs: | |
publish: | |
environment: | |
name: staging | |
url: https://dfhx9f55j8eg5.cloudfront.net/pr/${{github.event.number}}/schema | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the schema repository | |
uses: actions/checkout@v4 | |
- name: Set up Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "20" | |
- name: Checkout Documentation | |
uses: actions/checkout@v4 | |
with: | |
repository: OvertureMaps/docs | |
ref: main | |
path: docusaurus | |
- name: Copy Examples, Schema, & Docs | |
run: | | |
mkdir -p docusaurus/docs/_examples | |
cp -R examples/* docusaurus/docs/_examples/ | |
mkdir -p docusaurus/docs/_schema | |
cp -R schema/* docusaurus/docs/_schema/ | |
cp -R docs/schema docusaurus/docs/ | |
- name: Build Docusaurus website | |
env: | |
DOCUSAURUS_URL: https://dfhx9f55j8eg5.cloudfront.net/ | |
DOCUSAURUS_BASE_URL: /pr/${{github.event.number}}/ | |
run: | | |
cd docusaurus | |
npm install --prefer-dedupe | |
npm run docusaurus build | |
- name: Fetch AWS credentials | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
role-to-assume: arn:aws:iam::207370808101:role/Overture_GitHub_schema_Publish_Docs_Staging | |
aws-region: us-east-2 | |
- name: Copy Docusaurus website to staging bucket /pr/${{github.event.number}}/ | |
run: | | |
aws --region us-east-2 s3 sync --delete --storage-class INTELLIGENT_TIERING docusaurus/build s3://overture-schema-docs-static-staging-us-east-2/pr/${{github.event.number}} | |
- name: Purge CDN cache | |
run: | | |
aws cloudfront create-invalidation --distribution-id E3L106P8HVBE9L --paths "/pr/${{github.event.number}}/*" | |
- name: Publish URL | |
run: echo "View preview page at [https://dfhx9f55j8eg5.cloudfront.net/pr/${{github.event.number}}/](https://dfhx9f55j8eg5.cloudfront.net/pr/${{github.event.number}}/schema)" >> $GITHUB_STEP_SUMMARY |