Prs
Pull Requests¶
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¶
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¶
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:
.goreleaser.yaml
# ...
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:
- Try to sync the
john/repofork withmike/repo:main(if on GitHub). - Create the files into
john/repo, in the branchfoo-1.2.3(assumingProjectName=fooandVersion=1.2.3). 1 - Open a pull request from
john/repointomike/repo, with the branchmainas target. 2
Things that don't work¶
- Opening pull requests to a forked repository (
go-githubdoes 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.