Skip to content

Deploy to GitHub Pages #1

Deploy to GitHub Pages

Deploy to GitHub Pages #1

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.