diff --git a/README.md b/README.md index 7c73b50..61fe34c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # gRPCurl [![Build Status](https://circleci.com/gh/fullstorydev/grpcurl/tree/master.svg?style=svg)](https://circleci.com/gh/fullstorydev/grpcurl/tree/master) [![Go Report Card](https://goreportcard.com/badge/github.com/fullstorydev/grpcurl)](https://goreportcard.com/report/github.com/fullstorydev/grpcurl) +[![Snap Release Status](https://snapcraft.io/grpcurl/badge.svg)](https://snapcraft.io/grpcurl) `grpcurl` is a command-line tool that lets you interact with gRPC servers. It's basically `curl` for gRPC servers. @@ -79,6 +80,12 @@ of environments, including Windows and myriad Linux distributions. You can see more details and the full list of other packages for `grpcurl` at _repology.org_: https://repology.org/project/grpcurl/information +### Snap + +You can install `grpcurl` using the snap package: + +`snap install grpcurl` + ### From Source If you already have the [Go SDK](https://golang.org/doc/install) installed, you can use the `go` tool to install `grpcurl`: diff --git a/snap/README.md b/snap/README.md new file mode 100644 index 0000000..e64e550 --- /dev/null +++ b/snap/README.md @@ -0,0 +1,23 @@ +# packing and releasing +To pack the current branch to a snap package: + +`snapcraft pack` + +To install the package locally: + +`snap install ./grpcurl_v[version tag]_amd64.snap --devmode` + +To upload the snap to the edge channel: + +`snapcraft upload --release edge ./grpcurl_v[version tag]_amd64.snap` + +(you need to own the package name registration for this!) + +# ownership +The snap's current owner is `pietro.pasotti@canonical.com`; who is very happy to support with maintaining the snap distribution and/or transfer its ownership to the developers. + +Please reach out to me for questions regarding the snap; including: +- adding support for other architectures +- automating the release + +Cheers and thanks for the awesome tool! \ No newline at end of file diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 9195c58..bc95260 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,14 +1,16 @@ name: grpcurl base: core24 -version: '0.1' +# allow grpcurl part to call craftctl set-version +adopt-info: grpcurl summary: grpcurl is a command-line tool that lets you interact with gRPC servers. description: | grpcurl is a command-line tool that lets you interact with gRPC servers. It's basically curl for gRPC servers. -grade: devel -confinement: devmode +grade: stable +confinement: strict +license: MIT apps: grpcurl: @@ -23,6 +25,9 @@ parts: source: https://github.com/fullstorydev/grpcurl source-type: git override-build: | + tag="$(git describe --tags --abbrev=0)" + craftctl set version="$tag" + go build -o $CRAFT_PART_INSTALL/grpcurl ./cmd/grpcurl/grpcurl.go # adjust the permissions