-
Notifications
You must be signed in to change notification settings - Fork 482
Add automated protoc artifact bundle generation for releases #1835
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
Conversation
8e7a583
to
f14f281
Compare
Documentation/RELEASING.md
Outdated
|
||
4. Generate protoc artifact bundle | ||
|
||
Once you have created the draft release, trigger the "Upload protoc artifactbundle" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can any person with commit access to the repo do this?
What if we have two SwiftProtobuf releases without a new protobuf release happening, do we skip this step?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can any person with commit access to the repo do this?
Yes
What if we have two SwiftProtobuf releases without a new protobuf release happening, do we skip this step?
Good point. I added a section to check if there is a new release and only then run this.
## Motivation Currently the build plugin distributed from swift-protobuf and other repos that offer protoc plugins such as grpc-swift, are hardly usable since they require the user to install protoc and then point SwiftPM or the IDE to its location. ## Modifications This PR adds a new step in our release flow that bundles the upstream protoc binaries into an artifactbundle and uploads them to the latest draft release. It also adds to the release steps to update the `Package.swift` ## Result We now have an ecosystem wide distributing of protoc that can be used directly from the package manager without requiring users to install it manually. This makes build and command plugins that rely on protoc vastly more useful.
f14f281
to
32733d5
Compare
to reference the new artifact bundle. You'll need to update two things: | ||
|
||
- **URL**: Change to point to your new release tag | ||
- **Checksum**: Download the artifact bundle and calculate its SHA256 hash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whats the right command line to do that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can do it via the command line by doing swift package compute-checksum <path>
but the GH UI will also show it to you
Motivation
Currently the build plugin distributed from swift-protobuf and other repos that offer protoc plugins such as grpc-swift, are hardly usable since they require the user to install protoc and then point SwiftPM or the IDE to its location.
Modifications
This PR adds a new step in our release flow that bundles the upstream protoc binaries into an artifactbundle and uploads them to the latest draft release. It also adds to the release steps to update the
Package.swift
Result
We now have an ecosystem wide distributing of protoc that can be used directly from the package manager without requiring users to install it manually. This makes build and command plugins that rely on protoc vastly more useful.