name: Publish documentation to GH Pages

on:
  push:
    branches:
      - 'master'

jobs:
  gh-pages:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2

    - uses: actions/setup-node@v2
      with:
        node-version: '12'

    - name: "Cache dependencies"
      uses: actions/cache@v2
      with:
        path: docs/node_modules
        key: ${{ runner.os }}build-node-${{ hashFiles('package.json') }}
        restore-keys: ${{ runner.os }}-build-node-

    - name: "Install documentation dependencies"
      run: yarn install --frozen-lockfile

    - name: "Build documentation"
      run: yarn vuepress build docs

    - name: GitHub Pages action
      uses: peaceiris/actions-gh-pages@v3.7.3
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        publish_dir: docs/.vuepress/dist
        cname: vuepress-plugin-mermaidjs.efrane.com
