r4ds/.github/workflows/build_book.yaml

84 lines
2.4 KiB
YAML
Raw Normal View History

2020-10-03 21:26:36 +08:00
on:
push:
branches: master
name: bookdown
2020-10-03 21:51:47 +08:00
env:
isExtPR: ${{ github.event.pull_request.head.repo.fork == true }}
2020-10-03 21:26:36 +08:00
jobs:
build:
runs-on: ubuntu-16.04
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
RSPM: https://packagemanager.rstudio.com/cran/__linux__/xenial/latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup R
uses: r-lib/actions/setup-r@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 }}
2020-10-05 04:34:55 +08:00
key: ${{ runner.os }}-${{ steps.get-r-version.outputs.version }}-2-
2020-10-03 21:26:36 +08:00
2020-10-03 21:35:34 +08:00
- name: Install pak
2020-10-03 21:26:36 +08:00
run: |
install.packages("pak", repos = "https://r-lib.github.io/p/pak/dev/")
shell: Rscript {0}
- name: Install system dependencies
if: runner.os == 'Linux'
run: |
while read -r cmd
do
eval sudo $cmd
done < <(Rscript -e 'writeLines(pak::local_system_requirements("ubuntu", "16.04"))')
- name: Install dependencies
run: |
pak::local_install_dev_deps()
shell: Rscript {0}
- name: Install pandoc and pandoc citeproc
run: |
brew install pandoc
brew install pandoc-citeproc
- name: Cache bookdown results
uses: actions/cache@v2
with:
path: _bookdown_files
key: bookdown-${{ hashFiles('**/*Rmd') }}
restore-keys: bookdown-
- name: Build site
run: Rscript -e 'bookdown::render_book("index.Rmd", quiet = TRUE)'
- name: Deploy to Netlify
2020-10-03 21:51:47 +08:00
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
2020-10-03 21:26:36 +08:00
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
2020-10-03 21:51:47 +08:00
timeout-minutes: 1