Approve a pull request staged with stage_release(), and prepare for release. Merge an approved
release with merge_release().
Usage
approve_release(
pkg = ".",
filename = "NEWS.md",
unfreeze = FALSE,
host = getOption("rdev.host")
)Arguments
- pkg
path to package. Currently, only
pkg = "."is supported.- filename
name of file containing release notes, defaults to
NEWS.md.- unfreeze
If
TRUE, delete the Quarto_freezedirectory to fully re-render the site.- host
GitHub host to target, passed to the
.api_urlargument ofgh::gh(). If unspecified, gh defaults to "https://api.github.com", although gh's default can be customised by setting the GITHUB_API_URL environment variable.For a hypothetical GitHub Enterprise instance, either "https://github.acme.com/api/v3" or "https://github.acme.com" is acceptable.
Details
When run, approve_release():
Checks for uncommitted changes and stops if any exist using
gert::git_status()Determines the staged release title from
NEWS.mdusingget_release()Selects the GitHub pull request that matches the staged release title, stops if there is more or less than one matching PR using
gh::gh()Checks if on the PR branch and stops if not (using
gert::git_branch())Verifies the release is not already approved by searching for the release commit
Updates the PR description if the release notes have changed
Updates
VersioninDESCRIPTIONwithdesc::desc_set_version(), commits and push to git with message"GitHub release <version>"usinggert::git_add(),gert::git_commit()andgert::git_push()Runs
build_quarto_site()(if_quarto.ymlexists),build_analysis_site()(ifpkgdown/_base.ymlexists) orbuild_rdev_site()(if_pkgdown.ymlexists), commits and pushes changes (if any) to git with message:"<builder> for release <version>"
