A GitHub Action to automatically build and publish Go binaries as release assets across multiple platforms.
Go Release GitHub Action is a GitHub Action that automates building Go binaries and publishing them as assets on GitHub Releases. It solves the problem of manually compiling and uploading binaries for multiple operating systems and architectures, streamlining the release process for Go projects.
Go developers and maintainers who use GitHub for hosting and want to automate their release pipelines, especially those distributing cross-platform binaries.
Developers choose this action for its extensive customization options, support for complex build scenarios (like matrix strategies and custom commands), and its ability to handle the entire release workflow within GitHub Actions without external tools.
Automatically publish Go binaries to Github Release Assets through Github Action.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses GitHub Actions matrix strategy to compile for multiple GOOS/GOARCH combinations simultaneously, enabling efficient cross-platform releases without manual intervention.
Supports custom Go versions from URLs, project paths, build commands (e.g., make or packr2), and extra file inclusion, adapting to complex or legacy project structures.
Provides optional MD5/SHA256 checksums and UPX compression for executables, enhancing security and reducing binary sizes, as noted in the README's parameters.
Allows custom release tags, names, private repositories, and overwrite options, giving precise control over where and how binaries are published on GitHub.
With over 20 optional parameters and reliance on GitHub Actions matrix for multi-platform builds, setup can be verbose and error-prone, especially for newcomers to CI/CD.
Tightly coupled with GitHub Actions and Releases, making it unsuitable for projects on other CI/CD platforms or version control systems without significant workarounds.
Lacks native support for code signing binaries, requiring additional post-command steps for security-conscious releases, which the README mentions as a manual process.