What is go-github-selfupdate?
mastergo-github-selfupdate is a Go library designed to provide a self-update mechanism for command-line tools. It automates the process of detecting the latest release on GitHub, downloading the appropriate binary for the current OS and architecture, and replacing the existing binary in $GOPATH/bin.
Key features include:
- Automatic detection of the latest GitHub release.
- Automatic selection of the correct OS/arch binary.
- Rollback support if the update fails.
- Support for multiple archive formats (zip, tar, gzip, xzip).
- Support for private repositories and GitHub Enterprise.
- Support for hash and signature validation.