Skip to content
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

Consider publishing binary releases #1197

Open
josephglanville opened this issue Oct 29, 2021 · 5 comments
Open

Consider publishing binary releases #1197

josephglanville opened this issue Oct 29, 2021 · 5 comments

Comments

@josephglanville
Copy link

Protobuf generation is often a task carried out by CI tools etc and/or something that needs to be made available in a development environment where relying on the availability of a full Swift toolchain or homebrew (to get aforementioned binary package) isn't desirable.

Releasing binary packages for Linux amd64 and Darwin amd64/arm64 platforms would go a long way in making this plugin easier to consume.

@thomasvl
Copy link
Collaborator

Just to clarify, what do you mean by binary releases? Just the plugin? Or are you also talking about the supporting library?

As far as the need for a Swift toolchain, since the plugin generates Swift, doesn't that mean folks would still need the toolchain? Seems like the only place they wouldn't need the toolchain is if they didn't actually compile the generated sources, and that doesn't seem likely that common, no?

@josephglanville
Copy link
Author

Yes, just the plugin, i.e protoc-gen-swift.

Yes, to actually compile the output a Swift compiler would be required.

Distributing the plugin as binary has 2 major use-cases that I run into on the regular.

  1. Installation on developer machines in an automated fashion that doesn't rely on the development toolchain being present, at an appropriate version, configured on the PATH etc.
  2. Usage in centralized Protobuf architectures that use a single repository that is language agnostic to host the source IDL files and also generate sources for those client languages and sometimes publish packages for them.

Right now I am working around this by publishing my own binaries to s3 for the different architectures of our developer machines/CI boxes but it would be nice if they were built automatically and distributed as part of the Github release.

@leftbin-swarup
Copy link

totally. agreed. I would love to help with this if that is ok.

@thomasvl
Copy link
Collaborator

@FranzBusch - just noticed swift-grpc has binaries for the plugins on their releases page, do you happen to know what process they use and is it something that could be used here?

@FranzBusch
Copy link
Member

@FranzBusch - just noticed swift-grpc has binaries for the plugins on their releases page, do you happen to know what process they use and is it something that could be used here?

The process for swift-grpc is manual and we are not super happy with it. The thing that we really want is for https://github.com/protocolbuffers/protobuf to publish protoc on their releases so we can just move everyone over to use the SPM plugin instead.

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

No branches or pull requests

4 participants