goreleaser - Release engineering, simplified
goreleaser [options...] [argument...]
GoReleaser is a release automation tool.
Its goal is to simplify the build, release and publish steps while
providing variant customization options for all steps.
GoReleaser is built for CI tools, you only need to download and
execute it in your build script. Of course, you can also install it locally
if you wish.
You can customize your entire release process through a single
.goreleaser.yaml file.
Check out our website for more information, examples and
documentation: https://goreleaser.com
- build
Builds the current project
- OPTIONS
--auto-snapshot Automatically sets --snapshot if
the repository is dirty
- --clean
- Removes the 'dist' directory before building
- --f --config
- Load configuration from file
- --deprecated
- Force print the deprecation message - tests only
- --id
- Builds only the specified build ids
- --o --output
- Copy the binary to the path after the build. Only taken into account when
using --single-target and a single id (either with --id or if
configuration only has one build)
- --p --parallelism
- Number of tasks to run concurrently (default: number of CPUs)
- --single-target
- Builds only for current GOOS and GOARCH, regardless of what's set in the
configuration file
- --skip
- Skip the given options (valid options are: before, post-hooks, pre-hooks,
validate)
- --snapshot
- Generate an unversioned snapshot build, skipping all validations
- --timeout
- Timeout to the entire build process
- check [configuration
files]
Checks if configuration is valid
- OPTIONS
--f --config Configuration file(s) to check
- --deprecated
- Force print the deprecation message - tests only
- --q --quiet
- Quiet mode: no output
- completion
Generate the autocompletion script for the specified
shell
- COMMANDS
bash
Generate the autocompletion script for bash
- OPTIONS
--no-descriptions disable completion
descriptions
- fish
Generate the autocompletion script for fish
- OPTIONS
--no-descriptions disable completion
descriptions
- powershell
Generate the autocompletion script for powershell
- OPTIONS
--no-descriptions disable completion
descriptions
- zsh
Generate the autocompletion script for zsh
- OPTIONS
--no-descriptions disable completion
descriptions
- healthcheck
Checks if needed tools are installed
- OPTIONS
--f --config Configuration file
- --q --quiet
- Quiet mode: no output
- help [command]
Help about any command
- init
Generates a .goreleaser.yaml file
- OPTIONS
--f --config Load configuration from file
- --l --language
- Which language will be used
- jsonschema
Outputs goreleaser's JSON schema
- OPTIONS
--o --output Where to save the JSONSchema
file
- mcp
Start a MCP server that provides GoReleaser tools
- release
Releases the current project
- OPTIONS
--auto-snapshot Automatically sets --snapshot if
the repository is dirty
- --clean
- Removes the 'dist' directory
- --f --config
- Load configuration from file
- --deprecated
- Force print the deprecation message - tests only
- --draft
- Whether to set the release to draft. Overrides release.draft in the
configuration file
- --fail-fast
- Whether to abort the release publishing on the first error
- --p
--parallelism
- Amount tasks to run concurrently (default: number of CPUs)
- Load custom release notes footer from a markdown file
- Load custom release notes footer from a templated markdown file (overrides
--release-footer)
- Load custom release notes header from a markdown file
- Load custom release notes header from a templated markdown file (overrides
--release-header)
- --release-notes
- Load custom release notes from a markdown file (will skip GoReleaser
changelog generation)
- --release-notes-tmpl
- Load custom release notes from a templated markdown file (overrides
--release-notes)
- --skip
- Skip the given options (valid options are announce, archive, aur,
aur-source, before, chocolatey, docker, homebrew, ko, nfpm, nix, notarize,
publish, sbom, scoop, sign, snapcraft, validate, winget)
- --snapshot
- Generate an unversioned snapshot release, skipping all validations and
without publishing any artifacts (implies
--skip=announce,publish,validate)
- --timeout
- Timeout to the entire release process