name: Deploy to GitHub pages

on:
  workflow_dispatch:
  push:
    branches: [ master ]
    paths:
      - 'docs-source/**'
      - '.github/workflows/**'

permissions:
  contents: write

jobs:
  docs:
    if: ${{ success() }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 18
      - name: Build VuePress site
        run: |
          cd docs-source
          yarn -i
          yarn docs:build-gh-pages
      - name: Deploy to GitHub Pages
        uses: crazy-max/ghaction-github-pages@v4
        with:
          target_branch: gh-pages
          build_dir: docs-source/dist
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}