name: github-pages on: push: branches: [main] jobs: main: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: { node-version: lts/*, cache: yarn } - 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 pages origin gh-pages - name: Build pages run: | yarn install yarn build - name: Build book run: | brew bundle mdbook build - name: Publish run: | git add -f pages if git commit -m update; then git subtree push --prefix pages origin gh-pages fi