Skip to content

Deploy Documentation #298

Deploy Documentation

Deploy Documentation #298

name: Deploy Documentation
on:
push:
branches:
- develop
paths:
- "documentation/**"
workflow_dispatch:
jobs:
deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
- name: Cache node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Cache Docusaurus build folder
uses: actions/cache@v3
with:
path: ./documentation/.docusaurus # Fix the path
key: ${{ runner.os }}-docusaurus-${{ hashFiles('documentation/**/*.md') }}
restore-keys: |
${{ runner.os }}-docusaurus-
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
with:
node-version: 24
- name: Install dependencies
run: npm ci
working-directory: ./documentation
- name: Build website
run: npm run build
working-directory: ./documentation
env:
POSTHOG_API_KEY: ${{ secrets.POSTHOG_API_KEY }}
- name: Add CNAME
run: echo "docs.typewritermc.com" > ./documentation/build/CNAME
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v4
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.
user_name: github-actions[bot]
user_email: 41898282+github-actions[bot]@users.noreply.github.com