on: push: branches: - master pull_request: branches: - master schedule: # run every day at 11 PM - cron: '0 23 * * *' name: Build book env: isExtPR: ${{ github.event.pull_request.head.repo.fork == true }} jobs: build: runs-on: macOS-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout repo uses: actions/checkout@v2 - name: Setup R uses: r-lib/actions/setup-r@master - name: Setup pandoc uses: r-lib/actions/setup-pandoc@master - name: Get R version id: get-r-version run: | echo "::set-output name=version::$(Rscript -e 'cat(as.character(getRversion()))')" shell: bash - name: Cache R packages uses: actions/cache@v2 with: path: ${{ env.R_LIBS_USER }} key: ${{ runner.os }}-${{ steps.get-r-version.outputs.version }}-3- - name: Install pak run: | install.packages("pak", repos = "https://r-lib.github.io/p/pak/dev/") shell: Rscript {0} - name: Install dependencies run: | pak::local_install_dev_deps() shell: Rscript {0} - name: Cache bookdown results uses: actions/cache@v2 with: path: _bookdown_files key: bookdown-3-${{ hashFiles('**/*Rmd') }} restore-keys: bookdown-3- - name: Build site run: | # Allows [implcit heading links] to work; will need to convert # to explicit before switching to visual editor options(bookdown.render.file_scope = FALSE) bookdown::render_book("index.Rmd") shell: Rscript {0} - name: Deploy to Netlify if: contains(env.isExtPR, 'false') id: netlify-deploy uses: nwtgck/actions-netlify@v1.1 with: publish-dir: './_book' production-branch: master github-token: ${{ secrets.GITHUB_TOKEN }} deploy-message: 'Deploy from GHA: ${{ github.event.pull_request.title || github.event.head_commit.message }} (${{ github.sha }})' enable-pull-request-comment: false enable-commit-comment: false env: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID_2E }} timeout-minutes: 1