protobuf icon indicating copy to clipboard operation
protobuf copied to clipboard

GitHub workflow to publish an artifactbundle for SwiftPM

Open FranzBusch opened this issue 1 year ago • 2 comments

Motivation

We want to be able to consume protoc in the Swift ecosystem similar to how other ecosystems consume it. The goal is to allow seamless generation of Swift files from proto files via Swift PM build plugins. Currently, both swift-protobuf and grpc-swift offer such plugins; however, the usage remains limited due to the missing protoc dependency in the Swift PM ecosystem.

Modification

This PR adds a GitHub workflow that is triggered when a release is created. The workflow fetches the released protoc artifacts, bundles them into an artifactbundle and uploads them to the release. Once uploaded we can start to depend on them from swift-protobuf and offer the protoc binary to the Swift ecosystem.

Result

Easy and seamless integration of protobuf based generation in the Swift ecosystem.

FranzBusch avatar Aug 07 '24 22:08 FranzBusch

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

google-cla[bot] avatar Aug 07 '24 22:08 google-cla[bot]

We triage inactive PRs and issues in order to make it easier to find active work. If this PR should remain active, please add a comment.

This PR is labeled inactive because the last activity was over 90 days ago. This PR will be closed and archived after 14 additional days without activity.

github-actions[bot] avatar Jan 10 '25 10:01 github-actions[bot]

Sorry for only getting back to this now. @zhangskz I fixed up your comment regarding the download URL. At the moment this really is the only way to make protoc available to the Swift package ecosystem in a pre-built manner. We need this specific folder structure so that the Swift Package Manager can consume the artefacts. The other way would be to build protoc using the Swift Package Manager from source. However, this would add significant compile times to everyone's build. cc @thomasvl

FranzBusch avatar Jan 24 '25 09:01 FranzBusch