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_freeze
directory to fully re-render the site.- host
GitHub host to target, passed to the
.api_url
argument 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.md
usingget_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
Version
inDESCRIPTION
withdesc::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.yml
exists),build_analysis_site()
(ifpkgdown/_base.yml
exists) orbuild_rdev_site()
(if_pkgdown.yml
exists), 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()