@google-cloud/release-brancher
Version:
Cut release branches
55 lines (37 loc) • 1.93 kB
Markdown
# release-brancher
This project is designed to be a CLI for branching new release branches. A "release branch" is a protected branch
that is configured for release automation.
## Installation
You will want to install this library as a globally-available, standalone binary.
`npm i @google-cloud/release-brancher -g`
## Usage
You will need a personal access token with write access to the target repository.
We advise setting the `GITHUB_TOKEN` environment variable before running the binary.
Alternatively, you can provide the token via the `--github-token` command line argument.
```bash
export GITHUB_TOKEN=<your-token-here>
release-brancher create-pull-request --branch-name="1.x" \
--target-tag="v1.3.0" --repo="googleapis/java-asset"
```
This command will:
1. Create a new branch (if necessary), branched from the specified target tag
2. Create a pull request to the default branch that
* Adds release-please configuration for the new branch
* Sets up branch protection for the new branch
3. Create a pull request to the new branch that duplicates any GitHub Actions
workflows, replacing the default branch with the new branch
### Options
| Option | Description | Default |
| ------ | ----------- | ------- |
| branch-name | Name of the new release branch | *Required* |
| target-tag | Tag of release to branch from | *Required* |
| repo | Repository slug (owner/repo) | *Required* |
| github-token | Personal access token. Can alternatively be set via the `GITHUB_TOKEN` environment variable | *Required* |
| release-type | release-please strategy to set | Detected from the primary branch's release-please configuration |
## Running tests:
`npm test`
## Contributing
If you have suggestions for how `release-brancher` could be improved, or want to report a bug, open an issue! We'd love all and any contributions.
For more, check out the Contributing Guide.
License
Apache 2.0 © 2021 Google LLC.