How it works
How it works
GoReleaser’s goal is to automate most of the boring work you’ll have while releasing software, ideally using sensible defaults and making the most common use cases easy.
GoReleaser expects a couple of things:
- a
.goreleaser.yamlfile with the configuration (see the customization section for more info) - a clean working tree
- a SemVer-compatible version (e.g.
10.21.34-prerelease+buildmeta)
And that’s it.
What happens when you release
A GoReleaser run is split into 4 major steps:
- defaulting: configures sensible defaults for each step
- building: builds the binaries, archives, packages, Docker images, etc
- publishing: publishes the release to the configured SCM, Docker registries, blob storages…
- announcing: announces your release to the configured channels
You can skip some steps with --skip flags.
Run goreleaser release --help to see which ones are available.
If any of the previous steps fails, the next steps will not run.
Last updated on