76 lines
2.0 KiB
YAML
76 lines
2.0 KiB
YAML
on:
|
|
push:
|
|
branches: master
|
|
|
|
name: bookdown
|
|
|
|
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 }}
|
|
key: ${{ runner.os }}-${{ steps.get-r-version.outputs.version }}-1-
|
|
|
|
- name: Install pak
|
|
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: Install npm
|
|
uses: actions/setup-node@v1
|
|
|
|
- name: Deploy to Netlify
|
|
# NETLIFY_AUTH_TOKEN and NETLIFY_SITE_ID added in the repo's secrets
|
|
env:
|
|
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
|
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
|
|
run: |
|
|
npm install netlify-cli -g
|
|
netlify deploy --prod --dir _book
|