GORELEASER(1)
โจ goreleaser โ release engineering, simplified โจ
okay so welcome to goreleaser(1), bestie ๐ this is the manual page for the goreleaser command (that's section 1 of the manuals, iykyk), and honestly? it's a whole vibe. let's get into it.
๐ธ NAME ๐ธ
goreleaser โ release engineering, simplified.
๐ SYNOPSIS ๐
goreleaser [options...] [argument...]
๐ DESCRIPTION ๐
Release engineering, simplified. that's it, that's the tagline, and it ate ๐
GoReleaser is a release automation tool, built with love and care by @caarlos0 and many contributors. literally a labor of love, no cap ๐ซถ
Complete documentation is available at https://goreleaser.com โ go read it, it's giving "everything you ever needed" energy.
โญ OPTIONS โญ
--verboseโ Enable verbose mode. it yells more. that's the whole thing. ๐ฃ๏ธ
๐ COMMANDS ๐
๐ build
Builds the current project. just you, your code, and a dream.
OPTIONS
--auto-snapshotโ Automatically sets--snapshotif the repository is dirty. messy repo? it handles it bestie ๐ซง--cleanโ Removes the'dist'directory before building. out with the old, periodt.-f,--configโ Load configuration from file--deprecatedโ Force print the deprecation message - tests only. (yes it literally says "tests only", don't come for me ๐)--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-targetand a single id (either with--idor if configuration only has one build) โ ๏ธ so like, don't expect it to work in every scenario, okay?-p,--parallelismโ Number of tasks to run concurrently (default: number of CPUs). multitasking icon โจ--single-targetโ Builds only for currentGOOSandGOARCH, 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. a vibe check for your yaml, literally ๐
OPTIONS
-f,--configโ Configuration file(s) to check--deprecatedโ Force print the deprecation message - tests only-q,--quietโ Quiet mode: no output. shhh ๐คซ
๐ completion
Generate the autocompletion script for the specified shell. your shell, but make it psychic ๐ฎ
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. doctor's appointment for your toolchain ๐ซถ
OPTIONS
-f,--configโ Configuration file-q,--quietโ Quiet mode: no output
๐ฌ help [command]
Help about any command. when in doubt, ask for help, it's giving healthy communication ๐
๐ฑ init
Generates a .goreleaser.yaml file. starter pack energy, main character origin story โจ
OPTIONS
-f,--configโ Load configuration from file-l,--languageโ Which language will be used
๐งพ jsonschema
Outputs goreleaser's JSON schema. for the schema girlies ๐
OPTIONS
-o,--outputโ Where to save the JSONSchema file
๐ release
Releases the current project. the big one. the finale. the moment ๐ฅ
OPTIONS
--auto-snapshotโ Automatically sets--snapshotif 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. Overridesrelease.draftin 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)--release-footerโ Load custom release notes footer from a markdown file--release-footer-tmplโ Load custom release notes footer from a templated markdown file (overrides--release-footer)--release-headerโ Load custom release notes header from a markdown file--release-header-tmplโ 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 areannounce,archive,aur,aur-source,before,chocolatey,docker,flatpak,homebrew,ko,makeself,mcp,nfpm,nix,notarize,publish,sbom,scoop,sign,snapcraft,srpm,validate,winget) โ yes that's the whole list, I didn't skip any, I would never ๐--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
๐ฆ EXAMPLES ๐ฆ
okay so here's the actual group chat of example commands, bestie ๐ซถ
Initialize your project:
goreleaser init
Verify your configuration:
goreleaser check
Verify dependencies:
goreleaser healthcheck
Build the binaries only:
goreleaser build
Run a snapshot release:
goreleaser release --snapshot
Run a complete release:
goreleaser release
ngl the last one is the final boss. do a --snapshot first, okay? it's giving self-care ๐
and that's the page, bestie ๐ this was goreleaser, the tool, written up for the goreleaser(1) manual, dated 2026-10-29. go forth and release things, you absolute icon ๐โจ๐
๐ฆ where this page comes from
- nixpkgs unstable: goreleaser 2.17.1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms