Skip to content

01 Build and Deploy Site #8

01 Build and Deploy Site

01 Build and Deploy Site #8

name: "01 Build and Deploy Site"
on:
push:
branches:
- main
- master
- l10n_main
schedule:
- cron: '0 0 * * 2'
workflow_dispatch:
inputs:
name:
description: 'Who triggered this build?'
required: true
default: 'Maintainer (via GitHub)'
reset:
description: 'Reset cached markdown files'
required: false
default: false
type: boolean
jobs:
full-build:
name: "Build Full Site"
runs-on: ubuntu-latest
permissions:
checks: write
contents: write
pages: write
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
RENV_PATHS_ROOT: ~/.local/share/renv/
steps:
- name: "Checkout Lesson"
uses: actions/checkout@v4
with:
ref: l10n_main
- name: "Set up R"
uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true
install-r: false
- name: "Set up Pandoc"
uses: r-lib/actions/setup-pandoc@v2
- name: "Setup Lesson Engine"
uses: carpentries/actions/setup-sandpaper@main
with:
cache-version: ${{ secrets.CACHE_VERSION }}
- name: "Setup Package Cache"
uses: carpentries/actions/setup-lesson-deps@main
with:
cache-version: ${{ secrets.CACHE_VERSION }}
- name: Create and populate .Renviron file with LANG_CODE secret
run: |
echo "LANG_CODE=${{ secrets.LANG_CODE }}" >> ~/.Renviron
- name: "Deploy Site"
run: |
reset <- "${{ github.event.inputs.reset }}" == "true"
options(repos = c(carpentries = "https://carpentries.r-universe.dev/", CRAN = "https://cran.rstudio.com/"))
renv::install("carpentries/sandpaper")
renv::install("joelnitta/dovetail")
sandpaper::package_cache_trigger(TRUE)
lesson_trans_dir <- paste0(tempdir(), "/dovetail-", Sys.Date())
lang_code <- Sys.getenv("LANG_CODE", unset = "en")
dovetail:::make_translated_dir(
translated_dir = lesson_trans_dir, overwrite = TRUE, lang = lang_code,
l10n_branch = NULL, clean = FALSE)
sandpaper:::ci_deploy(path = lesson_trans_dir, reset = reset)
shell: Rscript {0}