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:
- Export OpenTelemetry traces of your releases to your own collector (Enterprise plan);
- Run in air-gapped environments with offline licenses (Business and Enterprise plans);
- Verify published release assets by re-downloading them and running your own checks;
- Create macOS installers (
.pkg); - Create Windows installers (
.exe) with NSIS; - Smart SemVer tag sorting;
- Publish to NPM registries;
- Native sign and notarize macOS App Bundles, Disk Images, and Installers;
- Use AI to improve/format your release notes;
- Further filter artifacts with
ifstatements; - Create macOS App Bundles (
.app); - Easily create
alpine,apt, andyumrepositories 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);
- Publish versioned Homebrew Casks and Formulas;
- Keep DockerHub image descriptions up to date;
- Create macOS disk images (
.dmg); - Create Windows installers (
.msi) with msitools or WiX; - Use
goreleaser release --single-targetto 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
.Artifactstemplate variable to build more powerful customizations; - Use extra template fields and functions;
- Upload to multiple Artifactory and HTTP server instances;
- 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 publishandgoreleaser 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
prebuiltbuilder; - Rootless build Docker images and manifests with Podman;
- Easily create
apt,yum, and alpine repositories with the gemfury.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
structs, 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! ✨✨
