Creates a "release pull request", whose body consists of features list or
pull requests that are to be released into production. It's especially useful for QA and
pre-release checks. git-pr-release
automatically collect pull requests
merged into master branch and generates the content of the release
pull request.
Suitable for branching strategy like below (similar to git-flow):
- Feature branches are first merged into "staging" (or release, development) branch.
- Then the staging branch is merged into "production" branch, which is for production release.
All configuration are taken using git config
. You can write these variables
in file .git-pr-release
(instead of .git/config
or ~/.gitconfig
) to share project-wise configuration to other
collaborators.
Token for GitHub API.
If not set, you will be asked to input username/password for one time only, and this configuration variable will be stored.
You can specify this value by GIT_PR_RELEASE_TOKEN
environment variable.
The branch name that is deployed in production environment.
You can specify this value by GIT_PR_RELEASE_BRANCH_PRODUCTION
environment variable.
Default value: master
.
The branch name that the feature branches are merged into and is going to be merged into the "production" branch.
You can specify this value by GIT_PR_RELEASE_BRANCH_STAGING
environment variable.
Default value: staging
.
The template file path (relative to the workidir top) for pull requests created. Its first line is used for the PR title, the rest for the body. This is an ERB template.
You can specify this value by GIT_PR_RELEASE_TEMPLATE
environment variable.
If not specified, the content below is used as the template (embedded in the code):
Release <%= Time.now %>
<% pull_requests.each do |pr| -%>
<%= pr.to_checklist_item %>
<% end -%>
The labels list for adding to pull requests created. This value should be comma-separated strings.
You can specify this value by GIT_PR_RELEASE_LABELS
environment variable.
If not specified, any labels will not be added for PRs.
exit status is 1.
exit status is 2.
exit status is 3.
exit status is 4.
motemen motemen@gmail.com, original in-house version written by @hitode909.