Release engineering, simplified.
GoReleaser Pro is a fork of the OSS version you already use every day, with extra features.
With GoReleaser Pro you can:
- Further filter artifacts with
if
statements; - Easily create
alpine
,apt
, andyum
repositories with the CloudSmith integration; - Have global defaults for homepage, description, etc;
- Run hooks before publishing artifacts;
- Cross publish (e.g. releases to GitLab, pushes Homebrew Tap to GitHub);
- Keep DockerHub image descriptions up to date;
- Create macOS disk images (DMGs);
- Create Windows installers;
- Use
goreleaser release --single-target
to build the whole pipeline for a single architecture locally; - Check boxes in pull request templates;
- Template entire files and add them to the release. You can also template files that will be included in archives, packages, Docker images, etc...;
- Use the
.Artifacts
template variable to build more powerful customizations; - Split and merge builds to speed up your release by splitting work, use CGO, or run platform-specific code;
- More changelog options: Filter commits by path & subgroups, group dividers;
- Have custom before and after hooks for archives;
- Prepare a release with
goreleaser release --prepare
, publish and announce it later withgoreleaser publish
andgoreleaser announce
, or withgoreleaser continue
; - Preview and test your next release's change log with
goreleaser changelog
; - Continuously release nightly builds;
- Import pre-built binaries with the
prebuilt
builder; - Rootless build Docker images and manifests with Podman;
- Easily create
apt
andyum
repositories with the fury.io integration; - Reuse configuration files with the include keyword;
- Run commands after the release with global after hooks;
- Use GoReleaser within your monorepo;
- Create custom template variables (goes well with includes).
And more features will be added soon.
The idea is to make this more sustainable. I have invested a lot of time in GoReleaser, some people contribute (either with code or money), most people don't. I'm not a big fan of receiving money without giving something in return, so this is my try at it.
I'll continue to maintain and add features as I already do. The only difference is that features that feel more "enterprisy" will be added to the paid version instead (unless someone contributes the code for it).
This repository contains mainly 2 things:
- The GoReleaser Pro binaries, packages, and archives to download;
- The GoReleaser Pro configuration
struct
s, so you can use them to integrate with other tools, or to generate YAML from Go.
You can find more details and buy it here.
✨✨ Thanks for your support! ✨✨