1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-20 03:59:26 +02:00

60 lines
1.6 KiB
Markdown
Raw Normal View History

## Pull Requests
> Since v1.17
GoReleaser allows you to, instead of pushing directly to the main branch, push
to a feature branch, and open a pull requests with the changes.
### Templates
> Since v1.19
GoReleaser will check for a `.github/PULL_REQUEST_TEMPLATE.md`, and set it in
the pull request body if it exists.
We do that to prevent extra work for maintainers of things like `winget-pkgs`,
`nixpkgs`, and so on.
### Cross-repository pull requests
> Since v1.19
You can also push to a fork, and open the pull request in the original branch.
Here's an example on how to set it up:
```yaml
# .goreleaser.yml
# ...
something: # can be nix, brews, etc...
- repository:
owner: john
name: repo
branch: "{{.ProjectName}}-{{.Version}}"
pull_request:
enabled: true
base:
owner: mike
name: repo
branch: main
```
This will:
- Create the files into `john/repo`, in the branch `foo-1.2.3` (assuming
`ProjectName=foo` and `Version=1.2.3`). [^head]
- Open a pull request from `john/repo` into `mike/repo`, with the branch `main`
as target. [^base]
[^head]: In GitHub's terms, this means `head=john:repo:foo-1.2.3`
[^base]: In GitHub's terms, this means `base=mike:repo:main`
### Things that don't work
- **GoReleaser will not keep your fork in sync!!!** It might or might not be a
problem in your case, in which case you'll have to sync it manually.
- Opening pull requests to a forked repository (`go-github` does not have the
required fields to do it).
- Since this can fail for a myriad of reasons, if an error happen, it'll log it
to the release output, but will not fail the pipeline.