Open a GitHub pull request for a new release from NEWS.md. Approve, merge, and create the
release using merge_release().
Usage
stage_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, stage_release():
Extracts release version and release notes from
NEWS.mdusingget_release()Validates version conforms to rdev conventions (#.#.#) and release notes aren't empty
Verifies that version tag doesn't already exist using
gert::git_tag_list()Checks for uncommitted changes and stops if any exist using
gert::git_status()Creates a new branch if on the default branch (
gert::git_branch()==usethis::git_default_branch()) usinggert::git_branch_create()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>"Opens a pull request with the title
"<package> <version>"and the release notes in the body usinggh::gh()
