GoReleaser builds Go binaries for several platforms, creates a GitHub release and then pushes a Homebrew formula to a tap repository. All that wrapped in your favorite CI. Cross-compile your Go project. Release to GitHub, GitLab and Gitea. Create nightly builds. Create Docker images and manifests. Create Linux packages and Homebrew taps. Sign artifacts, checksums and container images. Announce new releases on Twitter, Slack, Discord and others. Generate SBOMs (Software Bill of Materials) for binaries and container images. GoReleaser was created to solve a problem we all had at some point: releasing software is boring and error prone. Generally speaking, those scripts tend to not be reusable and have dependencies on many other tools - which makes it hard to run the process on other machines. GoReleaser aims to make all these scripts obsolete: instead of writing scripts, you write a simple YAML configuration file; instead of many tools, you (usually) only need a single goreleaser binary.
Features
- Cross-compile your Go project
- Release to GitHub, GitLab and Gitea
- Create nightly builds
- Create Docker images and manifests
- Create Linux packages and Homebrew taps
- Sign artifacts, checksums and container images