name: github-pages
on:
  push:
    branches: [master]
jobs:
  main:
    runs-on: ubuntu-latest
    env:
      EMAIL: octocat@github.com
    steps:
      - uses: actions/checkout@v1
      - run: echo "::set-env name=YARN_CACHE_DIR::$(yarn cache dir)"
      - uses: actions/cache@v1
        with:
          path: ${{ env.YARN_CACHE_DIR }}
          key: yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: yarn-
      - run: yarn
      - run: git -c user.name="$(whoami)" subtree add --prefix docs origin gh-pages
      - run: yarn doc
      - run: git add -f docs
      - run: git -c user.name="$(whoami)" commit -m github-pages
      - run: git remote add github "https://github:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
        env: { GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" }
      - run: git subtree push --prefix docs github gh-pages