GoReleaser
Everything you need to release with confidence
GoReleaser does everything you need to create a professional release process for Go, Rust, TypeScript, and Zig projects.
-
Fast & Automated - From commit to a release in seconds - automate your entire workflow with a single command.
-
Multiple Languages - First-class support for Go, Rust, TypeScript, Python, and Zig projects.
-
Cross-Platform - Build and release for multiple platforms and architectures.
-
Multiple Formats - Package your software exactly how your users want it - from binaries to Docker images and system packages.
-
Security Made Easy - Release with confidence using built-in SBOM generation, code signing, and notarization.
-
GitHub Actions and beyond - Works seamlessly with GitHub Actions, GitLab CI, and other popular CI/CD platforms.
-
What’s changed? - Keep users informed with auto-generated, customizable changelogs for every release.
-
Let your users know - Announce releases to 𝕏, Slack, Discord, and more.
Installation Instructions
Linux
Download Artefact
{
"url": "{{ .SVar `.tool.goreleaser.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.goreleaser.download.filename` }}",
"overwrite": false
} Extract Release
{
"destination": "{{ .PTools }}/goreleaser/{{ .SVar `.tool.goreleaser.download.version` }}",
"skip_symlinks": true,
"preserve_permissions": true,
"remove_existing": true,
"source": "{{ .PDownloads }}/{{ .SVar `.tool.goreleaser.download.filename` }}"
} Make sure artefact is executable
{
"path": "{{ .PTools }}/goreleaser/{{ .SVar `.tool.goreleaser.download.version` }}/goreleaser",
"permission_bits": 504
}
MacOS
Download Artefact
{
"url": "{{ .SVar `.tool.goreleaser.download.url` }}",
"destination_folder": "{{ .PDownloads }}",
"output_filename": "{{ .SVar `.tool.goreleaser.download.filename` }}",
"overwrite": false
} Extract Release
{
"destination": "{{ .PTools }}/goreleaser/{{ .SVar `.tool.goreleaser.download.version` }}",
"skip_symlinks": true,
"preserve_permissions": true,
"remove_existing": true,
"source": "{{ .PDownloads }}/{{ .SVar `.tool.goreleaser.download.filename` }}"
} Make sure artefact is executable
{
"path": "{{ .PTools }}/goreleaser/{{ .SVar `.tool.goreleaser.download.version` }}/goreleaser",
"permission_bits": 504
} Binaries
- goreleaser