name: github-pages
on:
  workflow_run:
    branches: [main]
    workflows: [test]
    types: [completed]
jobs:
  main:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - id: brew_cache
        run: echo "::set-output name=dir::$(brew --cache)"
      - uses: actions/cache@v2
        with:
          path: ${{ steps.brew_cache.outputs.dir }}
          key: brew-${{ hashFiles('**/Brewfile.lock.json') }}
          restore-keys: brew-
      - name: Git config
        run: |
          git config user.name bot
          git config user.email bot@example
          git subtree add --prefix book origin gh-pages
      - name: Build
        run: |
          brew bundle
          mdbook build
      - name: Publish
        run: |
          git add -f book
          if git commit -m update; then
            git subtree push --prefix book origin gh-pages
          fi