name: Build Documentation on: pull_request: branches: - main paths: - '.github/workflows/build-docs.yml' - 'docs/**' - 'src/**' - '*.json' - '*.js' - '*.lock' push: branches: - main paths: - '.github/workflows/build-docs.yml' - 'docs/**' - 'src/**' - '*.json' - '*.js' - '*.lock' jobs: checks: if: github.event_name != 'push' name: Build Documentation runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Test Docs Build run: | yarn install --frozen-lockfile cd docs yarn install --frozen-lockfile yarn build gh-release: if: github.event_name != 'pull_request' name: Deploy Documentation runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Add key to allow access to repository env: SSH_AUTH_SOCK: /tmp/ssh_agent.sock run: | mkdir -p ~/.ssh ssh-keyscan github.com >> ~/.ssh/known_hosts echo "${{ secrets.GH_PAGES_DEPLOY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa cat <> ~/.ssh/config Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa EOT - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: Restore node_modules from cache uses: actions/cache@v2 id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Release to GitHub Pages env: USE_SSH: true GIT_USER: git CURRENT_BRANCH: main DEPLOYMENT_BRANCH: gh-pages github_token: ${{ secrets.GITHUB_TOKEN }} run: | git config --global user.email "actions@github.com" git config --global user.name "gh-actions" yarn install --frozen-lockfile cd docs yarn install --frozen-lockfile yarn deploy