connectrpc / connect-go

The Go implementation of Connect: Protobuf RPC that works.
https://connectrpc.com
Apache License 2.0
2.76k stars 91 forks source link

Include prebuilt executables in releases #695

Open andrew-womeldorf opened 4 months ago

andrew-womeldorf commented 4 months ago

Is your feature request related to a problem? Please describe. In order to buf generate, my environment must have go installed so that I can first install protoc-gen-connect-go.

Describe the solution you'd like Include prebuilt executables with releases.

Describe alternatives you've considered Install go and use go install... :smile:

Additional context This is certainly a convenience request. My current situation is trying to create more efficient CI jobs. I can download protoc-gen-go and buf without needing to bloat the build environment by installing go and associated tools. It would be nice to be able to simply download an executable for protoc-gen-connect-go as well.

emcfarlane commented 4 months ago

It's usually assumed to use and build the libraries go would be required locally. Install can be done with:

go install connectrpc.com/connect/cmd/protoc-gen-connect-go@latest

As an alternative you can use remote code generation using buf. This doesn't require you to manage the plugin binaries locally. See the docs here for more details: https://buf.build/docs/bsr/remote-plugins/usage#4.4.-connect-go

Release binaries would be a nice addition though. I'll let others weigh in but I agree with this proposal.

akshayjshah commented 4 months ago

I agree that release binaries would be nice, even if they're unnecessary for people using the buf CLI. @emcfarlane Can we look into integrating GoReleaser in this repo?

andrew-womeldorf commented 4 months ago

As an alternative you can use remote code generation using buf. This doesn't require you to manage the plugin binaries locally. See the docs here for more details: https://buf.build/docs/bsr/remote-plugins/usage#4.4.-connect-go

Oh, awesome. This worked great. I didn't realize that I could do this. Thank you!