Snap: strict confinement, stable grade and docs (#514)

This commit is contained in:
PietroPasotti 2025-03-19 04:01:48 +01:00 committed by GitHub
parent 614b1687cf
commit 3a8fa31879
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 38 additions and 3 deletions

View File

@ -1,6 +1,7 @@
# gRPCurl # gRPCurl
[![Build Status](https://circleci.com/gh/fullstorydev/grpcurl/tree/master.svg?style=svg)](https://circleci.com/gh/fullstorydev/grpcurl/tree/master) [![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) [![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 `grpcurl` is a command-line tool that lets you interact with gRPC servers. It's
basically `curl` for gRPC servers. 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_: You can see more details and the full list of other packages for `grpcurl` at _repology.org_:
https://repology.org/project/grpcurl/information https://repology.org/project/grpcurl/information
### Snap
You can install `grpcurl` using the snap package:
`snap install grpcurl`
### From Source ### From Source
If you already have the [Go SDK](https://golang.org/doc/install) installed, you can use the `go` If you already have the [Go SDK](https://golang.org/doc/install) installed, you can use the `go`
tool to install `grpcurl`: tool to install `grpcurl`:

23
snap/README.md Normal file
View File

@ -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!

View File

@ -1,14 +1,16 @@
name: grpcurl name: grpcurl
base: core24 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. summary: grpcurl is a command-line tool that lets you interact with gRPC servers.
description: | description: |
grpcurl is a command-line tool that lets you interact with gRPC servers. grpcurl is a command-line tool that lets you interact with gRPC servers.
It's basically curl for gRPC servers. It's basically curl for gRPC servers.
grade: devel grade: stable
confinement: devmode confinement: strict
license: MIT
apps: apps:
grpcurl: grpcurl:
@ -23,6 +25,9 @@ parts:
source: https://github.com/fullstorydev/grpcurl source: https://github.com/fullstorydev/grpcurl
source-type: git source-type: git
override-build: | override-build: |
tag="$(git describe --tags --abbrev=0)"
craftctl set version="$tag"
go build -o $CRAFT_PART_INSTALL/grpcurl ./cmd/grpcurl/grpcurl.go go build -o $CRAFT_PART_INSTALL/grpcurl ./cmd/grpcurl/grpcurl.go
# adjust the permissions # adjust the permissions