Skip to content

Publish docs to staging website (for PR) #184

Publish docs to staging website (for PR)

Publish docs to staging website (for PR) #184

---
name: Staging Deploy
run-name: Publish docs to staging website (for PR)
on:
pull_request:
# Allow running from the actions tab
workflow_dispatch:
inputs:
schema_branch:
description: 'Schema branch to pull from for /reference'
required: true
default: 'main'
permissions:
id-token: write
contents: read
jobs:
build_and_publish:
environment:
name: staging
url: https://dfhx9f55j8eg5.cloudfront.net/how-to/pr/${{github.event.number}}/
name: Build documentation and publish to staging
runs-on: ubuntu-latest
steps:
- name: Check out the main docs repo repository and build.
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install NPM dependencies
run: npm install --prefer-dedupe
- name: Build Docusaurus website
env:
DOCUSAURUS_URL: https://dfhx9f55j8eg5.cloudfront.net/
DOCUSAURUS_BASE_URL: /how-to/pr/${{github.event.number}}/
SCHEMA_BRANCH: ${{ inputs.schema_branch }}
run: npm run 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 how-to/pr/${{github.event.number}}/
run: |
aws --region us-east-2 s3 sync --delete --storage-class INTELLIGENT_TIERING build s3://overture-schema-docs-static-staging-us-east-2/how-to/pr/${{github.event.number}}
- name: Purge CDN cache
run: |
aws cloudfront create-invalidation --distribution-id E3L106P8HVBE9L --paths "/how-to/pr/${{github.event.number}}/*"
- name: Publish URL
run: echo "### [https://dfhx9f55j8eg5.cloudfront.net/how-to/pr/${{github.event.number}}/](https://dfhx9f55j8eg5.cloudfront.net/how-to/pr/${{github.event.number}}/)" >> $GITHUB_STEP_SUMMARY