Deploy to GitHub Pages #1
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 to GitHub Pages | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
deploy: | |
name: Deploy to GitHub Pages | |
runs-on: ubuntu-latest | |
environment: github-pages | |
steps: | |
# Checkout repository code to access documentation files and source code | |
- uses: actions/checkout@v4 | |
# Setup Node.js environment with caching to optimize dependency installation | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 21 | |
cache: yarn | |
# Install all required Node.js packages and dependencies for documentation generation | |
- name: Install dependencies | |
run: yarn install --frozen-lockfile | |
working-directory: documentation | |
# Build static documentation website with environment variables for proper URL configuration | |
- name: Build website | |
run: yarn build | |
env: | |
DOCS_BASE_URL: ${{ vars.DOCS_BASE_URL }} | |
DOCS_URL: ${{ vars.DOCS_URL }} | |
working-directory: documentation | |
# Deploy built documentation to gh-pages branch for GitHub Pages hosting | |
# Popular action to deploy to GitHub Pages: | |
# Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus | |
- name: Deploy to GitHub Pages | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
# Build output to publish to the `gh-pages` branch: | |
publish_dir: ./documentation/build | |
# The following lines assign commit authorship to the official | |
# GH-Actions bot for deploys to `gh-pages` branch: | |
# https://github.com/actions/checkout/issues/13#issuecomment-724415212 | |
# The GH actions bot is used by default if you didn't specify the two fields. | |
# You can swap them out with your own user credentials. |