Skip to content

Conversation

@cburroughs
Copy link
Contributor

First of all, why does this exist at all? See
grpc/grpc#26125

Because of that way back in #10927 we built the plugin and uploaded it to binaries.pantsbuild.org. In the intervening time the original upstream issue is unresolved, but someone did the work to put together multi-arch CI at
https://github.com/nhurden/protoc-gen-grpc-python-prebuilt This gives us a more recent version and fills in the missing macos arm64 support.

We could fork and host in the pantsbuild org on GitHub, but given the rate of change to grpc-python-plugin I don't think that is warranted right now.

This removes one of the last things the project pays to serve from binaries.pantsbuild.org

First of all, why does this exist at all? See
grpc/grpc#26125

Because of that way back in pantsbuild#10927 we built the plugin and uploaded it
to binaries.pantsbuild.org.  In the intervening time the original
upstream issue is unresolved, but someone did the work to put together
multi-arch CI at
https://github.com/nhurden/protoc-gen-grpc-python-prebuilt This gives
us a more recent version and fills in the missing macos arm64 support.

We could fork and host in the pantsbuild org on GitHub, but given the
rate of change to grpc-python-plugin I don't think that is warranted
right now.

This removes one of the last things the project pays to serve from
binaries.pantsbuild.org
@cburroughs cburroughs self-assigned this Jan 15, 2026
@cburroughs
Copy link
Contributor Author

"works on my machine", but nhurden/protoc-gen-grpc-python-prebuilt#30

@cburroughs
Copy link
Contributor Author

cc @joel-eq since you were looking at this.

@sureshjoshi
Copy link
Member

Question: Would this be a better idea to vendor, like was done previously? But this time put automation around notifying us when it's out of date? So like, continue to use the binaries.pantsbuild.org or Github Releases (preferably) in a repo?

@cburroughs
Copy link
Contributor Author

Well previously we did this:

$ curl https://binaries.pantsbuild.org/bin/grpc_python_plugin/README.md
To add new versions of `grpc_python_plugin`, do the following on Linux and MacOS:

1. Build grpc from sources, using the cmake instructions at https://github.com/grpc/grpc/blob/master/BUILDING.md.

2. Upload the `grpc_python_plugin` file using 

aws --profile=pants s3 cp --acl public-read
./grpc_python_plugin
s3://binaries.pantsbuild.org/bin/grpc_python_plugin/$REV/$PLATFORM/x86_64/grpc_python_plugin


Where `$REV` is the grpc version (e.g., `1.32.0`) and `$PLATFORM` is `linux` or `macos`.

(Which was a great step because it worked and unblocked users!) So I think automation of building the binaries is a step forward. I'd rather GitHub release to something that incurs costs to the nonprofit. I'm fine with forking protoc-gen-grpc-python-prebuilt to pantsbuild and doing GitHub release from there. (Well I'd mildly prefer not to do more work in the abstract but not sure how active upstream is re the blocker on glibc versions).

Given the current once-every 5(?) years update rate, this wouldn't be the first thing I'd try to automate version notifications around.

@cburroughs
Copy link
Contributor Author

Progress on glibc, but: actions/partner-runner-images#157

@cburroughs
Copy link
Contributor Author

Thanks for the contribution. We've just branched for 2.31.x, so merging this pull request now will come out in 2.32.x, please move the release notes updates to docs/notes/2.32.x.md if that's appropriate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants