-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
process: precompiled protoc-gen-go release binaries #738
Comments
I have no objections to this and think its a good idea. It does mean that we'll need to improve our process for tagging and marking new releases on GitHub. I'll look into what it takes to do this, but I'll be honest that this is somewhat of a low priority item at the moment. |
Any updates on this? |
No updates. Pre-compiled binaries requires some more release tooling than we have the bandwidth to work on now. That said, Go 1.12 was recently released, which makes it much easier. Using
|
Also of note, as of Golang 1.12, if you have Golang installed, you don't want to edit any UNAME_OS := $(shell uname -s)
UNAME_ARCH := $(shell uname -m)
TMP_BASE := .tmp
TMP := $(TMP_BASE)/$(UNAME_OS)/$(UNAME_ARCH)
TMP_BIN = $(TMP)/bin
export GO111MODULE := on
export GOBIN := $(abspath $(TMP_BIN))
export PATH := $(GOBIN):$(PATH)
PROTOC_GEN_GO_VERSION := v1.3.0
PROTOC_GEN_GO := $(TMP_BIN)/protoc-gen-go
$(PROTOC_GEN_GO):
$(eval PROTOC_GEN_GO_TMP := $(shell mktemp -d))
@cd $(PROTOC_GEN_GO_TMP); go get github.com/golang/protobuf/protoc-gen-go@$(PROTOC_GEN_GO_VERSION)
@rm -rf $(PROTOC_GEN_GO_TMP) You can then call |
Updates golang/protobuf#738 Change-Id: I6dd85ff0129bfcfb67b12b06549c568eebfd68e3 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/189342 Reviewed-by: Damien Neil <dneil@google.com>
Pre-compiled binaries are attached to the release page for v1.20.0 for x86 and amd64 on Linux, OSX, and Windows. |
Is your feature request related to a problem? Please describe.
Currently it can be tricky for teams to ensure they are using consistent versions of protoc-gen-go (the installation instructions on the repo suggest
go get -u github.com/golang/protobuf/protoc-gen-go
). Version management is particularly important here because protoc-gen-go is often part of build processes which are meant to be reproducible.Describe the solution you'd like
Pre-compiled, per-platform release binaries, similar to protoc /~https://github.com/protocolbuffers/protobuf/releases or dep /~https://github.com/golang/dep/releases
Describe alternatives you've considered
None.
Additional context
A set of release binaries also makes protoc-gen-go easier to integrate with version-management tooling such as /~https://github.com/asdf-vm/asdf
The text was updated successfully, but these errors were encountered: