Skip to content

switch to "protoc-gen-grpc-python-prebuilt" for the grpc-python-plugin#23019

Merged
cburroughs merged 4 commits intopantsbuild:mainfrom
cburroughs:csb/grpc-alt
Feb 19, 2026
Merged

switch to "protoc-gen-grpc-python-prebuilt" for the grpc-python-plugin#23019
cburroughs merged 4 commits intopantsbuild:mainfrom
cburroughs:csb/grpc-alt

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

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

@cburroughs
Copy link
Contributor Author

And the latest release with nhurden/protoc-gen-grpc-python-prebuilt#38 is green; yeah!

@cburroughs cburroughs marked this pull request as ready for review February 17, 2026 20:29
@cburroughs cburroughs requested review from benjyw and tdyas February 17, 2026 20:29
@cburroughs
Copy link
Contributor Author

(oh @sureshjoshi had already commented; anyone welcome to review!)

Copy link
Contributor

@benjyw benjyw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

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 enabled auto-merge (squash) February 19, 2026 14:21
@cburroughs cburroughs merged commit 5695230 into pantsbuild:main Feb 19, 2026
94 of 100 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments