Skip to content

Publish docs to staging website (for PR) #99

Publish docs to staging website (for PR)

Publish docs to staging website (for PR) #99

Workflow file for this run

---
name: Staging Deploy
run-name: Publish docs to staging website (for PR)
on:
pull_request:
branches: [main]
permissions:
id-token: write
contents: read
pull-requests: write
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Check out the main docs repo repository and build.
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Install NPM dependencies
run: npm ci --omit=dev
- name: Build Docusaurus website
env:
DOCUSAURUS_URL: https://staging.overturemaps.org/
DOCUSAURUS_BASE_URL: /${{ github.event.repository.name }}/pr/${{ github.event.number }}/
run: npm run build
- name: Upload docs build as an artifact 📦
uses: actions/upload-artifact@v7
with:
path: build
name: build-artifact
deploy:
name: Deploy
runs-on: ubuntu-latest
needs: build
environment:
name: staging
url: https://staging.overturemaps.org/${{ github.event.repository.name }}/pr/${{ github.event.number }}/index.html
steps:
- name: Configure AWS credentials 🔐
uses: aws-actions/configure-aws-credentials@v6
with:
role-to-assume: arn:aws:iam::763944545891:role/pages-staging-oidc-overturemaps
aws-region: us-west-2
- name: Download artifacts 📥
uses: actions/download-artifact@v8
with:
name: build-artifact
path: build
- name: Copy to S3
run: |
aws s3 sync --delete build s3://overture-managed-staging-usw2/gh-pages/${{ github.event.repository.name }}/pr/${{ github.event.number }}/
- name: Bust the Cache
run: aws cloudfront create-invalidation --distribution-id E1KP2IN0H2RGGT --paths "/${{ github.event.repository.name }}/pr/${{ github.event.number }}/*"
- name: Get deploy timestamp
id: timestamp
run: echo "time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
- name: Comment on PR
uses: marocchino/sticky-pull-request-comment@v2
with:
message: |
## 🚀 Overture Maps docs branch preview deployed!
You can review your changes at https://staging.overturemaps.org/${{ github.event.repository.name }}/pr/${{ github.event.number }}/index.html
---
<sub>♻️ Last refreshed: ${{ steps.timestamp.outputs.time }}</sub>