tar_github_actions {targets} | R Documentation |
Set up GitHub Actions to run a targets pipeline
Description
Writes a GitHub Actions workflow file so the pipeline
runs on every push to GitHub. Historical runs accumulate in the
targets-runs
branch, and the latest output is restored before
tar_make()
so up-to-date targets do not rerun.
Usage
tar_github_actions(
path = file.path(".github", "workflows", "targets.yaml"),
ask = NULL
)
Arguments
path |
Character of length 1, file path to write the GitHub Actions workflow file. |
ask |
Logical, whether to ask before writing if the workflow file
already exists. If |
Details
Steps to set up continuous deployment:
Ensure your pipeline stays within the resource limitations of GitHub Actions and repositories, both for storage and compute. For storage, you may wish to reduce the burden with an alternative repository (e.g.
tar_target(..., repository = "aws")
).Ensure Actions are enabled in your GitHub repository. You may have to visit the Settings tab.
Call
targets::tar_renv(extras = character(0))
to expose hidden package dependencies.Set up
renv
for your project (withrenv::init()
orrenv::snapshot()
). Details at https://rstudio.github.io/renv/articles/ci.html.Commit the
renv.lock
file to themain
(recommended) ormaster
Git branch.Run
tar_github_actions()
to create the workflow file. Commit this file tomain
(recommended) ormaster
in Git.Push your project to GitHub. Verify that a GitHub Actions workflow runs and pushes results to
targets-runs
. Subsequent runs will only recompute the outdated targets.
Value
Nothing (invisibly). This function writes a GitHub Actions workflow file as a side effect.
See Also
Other scripts:
tar_edit()
,
tar_helper()
,
tar_helper_raw()
,
tar_renv()
,
tar_script()
Examples
tar_github_actions(tempfile())