Open a GitHub pull request for a new release from NEWS.md. Approve with approve_release().
Merge and create the release using merge_release().
Usage
stage_release(pkg = ".", filename = "NEWS.md", 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.- 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()Stops if on the default branch (
gert::git_branch()==usethis::git_default_branch())Updates the remote branch with
gert::git_push()Opens a pull request with the title
"<package> <version>"and the release notes in the body usinggh::gh()
stage_release() will open the pull request in the default browser when running interactively.
