01 Build and Deploy Site #31
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v3 | |
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} |