README

GoReleaser Logo

GoReleaser

Deliver Go binaries as fast and easily as possible.


GoReleaser builds Go binaries for several platforms, creates a GitHub release and then pushes a Homebrew formula to a tap repository. All that wrapped in your favorite CI.

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. We appreciate your contribution. Please refer to our contributing guidelines for further information.

For questions, support and general discussion, please use GitHub Discussions;

Get GoReleaser

Documentation

Documentation is hosted live at https://goreleaser.com

Badges

Release Software License Build status Codecov branch Go Doc SayThanks.io Backers on Open Collective Sponsors on Open Collective Conventional Commits

Sponsors

Does your company use goreleaser? Help keep the project bug-free and feature rich by sponsoring the project.

Backers

Love our work and community? Become a backer.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Stargazers over time

Stargazers over time

Documentation

The Go Gopher

There is no documentation for this package.

Source Files

Directories

Path Synopsis
pkg
archive
Package archive provides tar.gz and zip archiving
Package archive provides tar.gz and zip archiving
archive/gzip
Package gzip implements the Archive interface providing gz archiving and compression.
Package gzip implements the Archive interface providing gz archiving and compression.
archive/targz
Package targz implements the Archive interface providing tar.gz archiving and compression.
Package targz implements the Archive interface providing tar.gz archiving and compression.
archive/tarxz
Package tarxz implements the Archive interface providing tar.xz archiving and compression.
Package tarxz implements the Archive interface providing tar.xz archiving and compression.
archive/zip
Package zip implements the Archive interface providing zip archiving and compression.
Package zip implements the Archive interface providing zip archiving and compression.
build
Package build provides the API for external builders
Package build provides the API for external builders
config
Package config contains the model and loader of the goreleaser configuration file.
Package config contains the model and loader of the goreleaser configuration file.
context
Package context provides gorelease context which is passed through the pipeline.
Package context provides gorelease context which is passed through the pipeline.
defaults
Package defaults make the list of Defaulter implementations available so projects extending GoReleaser are able to use it, namely, GoDownloader.
Package defaults make the list of Defaulter implementations available so projects extending GoReleaser are able to use it, namely, GoDownloader.
internal
artifact
Package artifact provides the core artifact storage for goreleaser.
Package artifact provides the core artifact storage for goreleaser.
builders/golang
Package golang provides a Builder implementation for golang.
Package golang provides a Builder implementation for golang.
client
Package client contains the client implementations for several providers.
Package client contains the client implementations for several providers.
deprecate
Package deprecate provides simple functions to standardize the output of deprecation notices on goreleaser
Package deprecate provides simple functions to standardize the output of deprecation notices on goreleaser
git
Package git provides an integration with the git command
Package git provides an integration with the git command
http
Package http implements functionality common to HTTP uploading pipelines.
Package http implements functionality common to HTTP uploading pipelines.
ids
Package ids provides id validation code used my multiple pipes.
Package ids provides id validation code used my multiple pipes.
linux
Package linux contains functions that are useful to generate linux packages.
Package linux contains functions that are useful to generate linux packages.
middleware
Package middleware define middlewares for Actions.
Package middleware define middlewares for Actions.
pipe
Package pipe provides generic erros for pipes to use.
Package pipe provides generic erros for pipes to use.
pipe/archive
Package archive implements the pipe interface with the intent of archiving and compressing the binaries, readme, and other artifacts.
Package archive implements the pipe interface with the intent of archiving and compressing the binaries, readme, and other artifacts.
pipe/artifactory
Package artifactory provides a Pipe that push to artifactory
Package artifactory provides a Pipe that push to artifactory
pipe/before
Package before provides the pipe implementation that runs before all other pipes.
Package before provides the pipe implementation that runs before all other pipes.
pipe/blob
Package blob provides the pipe implementation that uploads files to "blob" providers, such as s3, gcs and azure.
Package blob provides the pipe implementation that uploads files to "blob" providers, such as s3, gcs and azure.
pipe/brew
Package brew implements the Pipe, providing formula generation and uploading it to a configured repo.
Package brew implements the Pipe, providing formula generation and uploading it to a configured repo.
pipe/build
Package build provides a pipe that can build binaries for several languages.
Package build provides a pipe that can build binaries for several languages.
pipe/changelog
Package changelog provides the release changelog to goreleaser.
Package changelog provides the release changelog to goreleaser.
pipe/checksums
Package checksums provides a Pipe that creates .checksums files for each artifact.
Package checksums provides a Pipe that creates .checksums files for each artifact.
pipe/custompublishers
Package custompublishers provides a Pipe that executes a custom publisher
Package custompublishers provides a Pipe that executes a custom publisher
pipe/defaults
Package defaults implements the Pipe interface providing default values for missing configuration.
Package defaults implements the Pipe interface providing default values for missing configuration.
pipe/dist
Package dist provides checks to make sure the dist folder is always empty.
Package dist provides checks to make sure the dist folder is always empty.
pipe/docker
Package docker provides a Pipe that creates and pushes Docker images and manifests.
Package docker provides a Pipe that creates and pushes Docker images and manifests.
pipe/env
Package env implements the Pipe interface providing validation of missing environment variables needed by the release process.
Package env implements the Pipe interface providing validation of missing environment variables needed by the release process.
pipe/git
Package git implements the Pipe interface getting and validating the current git repository state
Package git implements the Pipe interface getting and validating the current git repository state
pipe/gomod
Package gomod provides go modules utilities, such as template variables and the ability to proxy the module from proxy.golang.org.
Package gomod provides go modules utilities, such as template variables and the ability to proxy the module from proxy.golang.org.
pipe/milestone
Package milestone implements Pipe and manages VCS milestones.
Package milestone implements Pipe and manages VCS milestones.
pipe/nfpm
Package nfpm implements the Pipe interface providing nFPM bindings.
Package nfpm implements the Pipe interface providing nFPM bindings.
pipe/project
Package project sets "high level" defaults related to the project.
Package project sets "high level" defaults related to the project.
pipe/publish
Package publish contains the publishing pipe.
Package publish contains the publishing pipe.
pipe/release
Package release implements Pipe and manages github releases and its artifacts.
Package release implements Pipe and manages github releases and its artifacts.
pipe/scoop
Package scoop provides a Pipe that generates a scoop.sh App Manifest and pushes it to a bucket
Package scoop provides a Pipe that generates a scoop.sh App Manifest and pushes it to a bucket
pipe/snapcraft
Package snapcraft implements the Pipe interface providing Snapcraft bindings.
Package snapcraft implements the Pipe interface providing Snapcraft bindings.
pipe/snapshot
Package snapshot provides the snapshotting functionality to goreleaser.
Package snapshot provides the snapshotting functionality to goreleaser.
pipe/sourcearchive
Package sourcearchive archives the source of the project using git-archive.
Package sourcearchive archives the source of the project using git-archive.
pipe/upload
Package upload provides a Pipe that push using HTTP.
Package upload provides a Pipe that push using HTTP.
pipeline
Package pipeline provides generic erros for pipes to use.
Package pipeline provides generic erros for pipes to use.
semerrgroup
Package semerrgroup wraps a error group with a semaphore with configurable size, so you can control the number of tasks being executed simultaneously.
Package semerrgroup wraps a error group with a semaphore with configurable size, so you can control the number of tasks being executed simultaneously.
static
Package static contains static "text" files, just because embedding real static files would be kind of an overengineering right now, so it's just strings in go code really.
Package static contains static "text" files, just because embedding real static files would be kind of an overengineering right now, so it's just strings in go code really.
testlib
Package testlib contains test helpers for goreleaser tests.
Package testlib contains test helpers for goreleaser tests.
tmpl
Package tmpl provides templating utilities for goreleaser.
Package tmpl provides templating utilities for goreleaser.