This workflow will try to build the pkgdown site, and store it as an artifact to be retrieved from the GitHub actions run. It will fail if the pkgdown site cannot be built. This is a companion to use_update_pkgdown(), as the update_pkgdown the site, and therefore can be used to test if the build is working in cases where you do not want to deploy as well.

use_build_pkgdown(
  workflow_name = "call-build-pkgdown.yml",
  build_trigger = "pull_request",
  additional_args = NULL,
  tag_ghactions4r = NULL
)

Arguments

workflow_name

What to name the github action workflow locally. Must have the file extension .yml

build_trigger

Select the event that triggers the workflow. Options are:

pull_request

Run when a pull request is opened, reopened, or updated (default)

push_to_main

Run on pushing commits to main

push_to_all_branches

Run on pushing commits to any branch

manually

Run manually with the workflow_dispatch trigger

weekly

Run on the default branch (usually main) once a week

Multiple build triggers are allowed; specify them as a vector. Note that invalid build triggers will be silently removed as long as one build trigger is specified correctly.

additional_args

A named list of additional command line arguments to be passed to the workflow. The names of the list represent the platforms (windows, macos, or ubuntu), and the values are character vectors of arguments. These additional arguments are executed after the step that checks out the repository and before the step that sets up R.

tag_ghactions4r

Tag of ghactions4r workflow to pin to for the reusable workflow. This ensures compatibility with a specific version of ghactions4r functions. The tradeoff is that fixes will not happen automatically; instead, the user will have to update the pinned version of the caller workflow used. See the options by looking at the ghactions4r tags. Another option is to pin to commit hashes, but the user will need to do this by manually editing the caller workflow after creation. See github documentation on security to understand how this is more secure. Again, the tradeoff is that the workflow will not be automatically updated.

Examples

if (FALSE) { # \dontrun{
use_build_pkgdown(
  additional_args = list(
    ubuntu = c(
      "sudo apt-get update",
      "sudo apt-get install -y libcurl4-openssl-dev",
      "sudo add-apt-repository ppa:ubuntu-toolchain-r/test",
      "sudo apt-get install --only-upgrade libstdc++6"
    ),
    macos = c("brew install curl")
  )
)
} # }