add goreleaser
Add a goreleaser configuration file that builds binaries for Linux, MacOS and Windows, for 32bit (x86/386) and 64bit (x64/amd64). The binaries will be archived into a tar.gz/zip file along with the LICENSE file. The `dist/` directory will be written to by goreleaser with the binaries during the build process, so it's also been added to .gitignore. Goreleaser can be installed with: go get github.com/goreleaser/goreleaser Or other methods for install can be found at: https://goreleaser.com To build all the binaries and release them to GitHub: 1. Tag the release. e.g. `git tag -a v1.0.0 -m 'First release'` 2. Generate a GitHub Personal Access Token. See https://github.com/settings/tokens. 3. Push the release to GitHub. e.g. `git push origin v1.0.0` 4. Run goreleaser. e.g. `GITHUB_TOKEN=xxxxxxx... goreleaser` Go releaser will build the binaries, and upload the binaries to the GitHub project's release page for the release that was tagged.
This commit is contained in:
parent
d4d048fade
commit
c051f741b0
|
|
@ -0,0 +1 @@
|
|||
dist/
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
builds:
|
||||
- binary: grpcurl
|
||||
goos:
|
||||
- linux
|
||||
- darwin
|
||||
- windows
|
||||
goarch:
|
||||
- amd64
|
||||
- 386
|
||||
|
||||
archive:
|
||||
wrap_in_directory: true
|
||||
format: tar.gz
|
||||
format_overrides:
|
||||
- goos: windows
|
||||
format: zip
|
||||
replacements:
|
||||
amd64: x64
|
||||
386: x86
|
||||
darwin: macos
|
||||
files:
|
||||
- LICENSE
|
||||
|
|
@ -30,6 +30,8 @@ import (
|
|||
"github.com/fullstorydev/grpcurl"
|
||||
)
|
||||
|
||||
var version = "<not set>"
|
||||
|
||||
var (
|
||||
exit = os.Exit
|
||||
|
||||
|
|
@ -37,6 +39,8 @@ var (
|
|||
|
||||
help = flag.Bool("help", false,
|
||||
`Print usage instructions and exit.`)
|
||||
printVersion = flag.Bool("version", false,
|
||||
`Print version.`)
|
||||
plaintext = flag.Bool("plaintext", false,
|
||||
`Use plain-text HTTP/2 when connecting to server (no TLS).`)
|
||||
insecure = flag.Bool("insecure", false,
|
||||
|
|
@ -146,6 +150,10 @@ func main() {
|
|||
usage()
|
||||
os.Exit(0)
|
||||
}
|
||||
if *printVersion {
|
||||
fmt.Fprintf(os.Stderr, "%s v%s\n", os.Args[0], version)
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
// Do extra validation on arguments and figure out what user asked us to do.
|
||||
if *plaintext && *insecure {
|
||||
|
|
|
|||
Loading…
Reference in New Issue