Repository navigation
chore(deps)(deps): bump tonic-build from 0.12.3 to 0.14.6 - #29
dependabot[bot] wants to merge 1 commit into
Conversation
574a1f8 to
dd4a656
Compare
|
Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting |
1 similar comment
|
Dependabot tried to update this pull request, but something went wrong. We're looking into it, but in the meantime you can retry the update by commenting |
dd4a656 to
086f0eb
Compare
086f0eb to
03f0122
Compare
|
@dependabot recreate |
Bumps [tonic-build](https://github.com/hyperium/tonic) from 0.12.3 to 0.14.6. - [Release notes](https://github.com/hyperium/tonic/releases) - [Changelog](https://github.com/grpc/grpc-rust/blob/master/CHANGELOG.md) - [Commits](grpc/grpc-rust@v0.12.3...tonic-build-v0.14.6) --- updated-dependencies: - dependency-name: tonic-build dependency-version: 0.14.6 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
03f0122 to
8a9253e
Compare
|
✅ engrams review — complete. 1 finding posted. · View details |
| # grpc | ||
| tonic = "0.12" | ||
| tonic-build = "0.12" | ||
| tonic-build = "0.14" |
There was a problem hiding this comment.
🩺 Stability & Availability · HIGH — tonic-build bumped to 0.14 while tonic stays 0.12 breaks the build.rs codegen
WHAT: This PR bumps only tonic-build from 0.12 to 0.14 while tonic and tonic-reflection stay at 0.12; tonic-build 0.14 removed the prost message-codegen path (the compile_protos / file_descriptor_set_path builder used by crates/engram-protocol/build.rs), so that build script no longer compiles and the workspace fails to build.
WHEN: Every build of engram-protocol (and therefore the whole workspace / coordinator) runs build.rs, which calls tonic_build::configure().build_server(true).build_client(true).file_descriptor_set_path(&descriptor_path).compile_protos(&protos, &includes). This chain is part of tonic-build's prost integration.
Two independent problems flow from the version skew:
-
API removed. In the tonic
0.13/0.14line the prost-specific codegen was split out oftonic-buildinto a separatetonic-prost-buildcrate. The Cargo.lock diff confirms this:tonic-build 0.14.6no longer depends onprost-buildorprost-types(both[[package]]entries were deleted). Thecompile_protos(...)method that runs protoc+prost is therefore gone fromtonic_build, sobuild.rswill not compile as written. -
Runtime skew. Even if codegen were adapted,
tonic-build 0.14emits service code targeting thetonic 0.14runtime API, but thetonicdependency is still0.12.3. The 0.12→0.14 jump crosses breaking changes (codec/Body/NamedServicesurface), so the generatedengram.host.v1/engram.app.v1bindings would not compile against the pinnedtonic 0.12runtime.
This is a self-inconsistent dependency bump: tonic-build must move in lockstep with tonic (and, for 0.13+, requires adding tonic-prost-build plus reworking build.rs). As submitted, the change does neither.
| tonic-build = "0.14" | |
| Either revert this bump, or upgrade the whole tonic family together: move `tonic`, `tonic-build`, and `tonic-reflection` to `0.14`, add the new `tonic-prost-build 0.14` build-dependency, and rewrite `crates/engram-protocol/build.rs` to use `tonic_prost_build::configure()` (which carries `compile_protos` / `file_descriptor_set_path`) instead of `tonic_build::configure()`. |
Deferred — tonic-build 0.14 is the third leg of one indivisible changeI looked at this in today's dependency sweep and reproduced the failure locally on The failuretonic-build 0.14.6 says it in its own source ( // Prost functionality has been moved to tonic-prost-buildIts entire public surface is now Why this branch cannot fix it
And adding it would not be enough. This branch pins:
0.14 codegen emits code against the tonic 0.14 runtime and the prost 0.14 derives. The decision it turns onWhether these become a Dependabot group. # - Major bumps fall *outside* the group and arrive as individual PRs,
# because that's where breaking changes hide and the review needs
# to happen one crate / package / image at a time.That policy is right in general and backfires precisely here. tonic and prost are Concretely, the fix I would suggest — a named group that keeps the family together grpc:
patterns: ["tonic", "tonic-*", "prost", "prost-*"]
update-types: ["major", "minor", "patch"]That turns three impossible PRs into one reviewable one, and it is the only PR I wrote the full migration plan on #25, which is this same change from the HousekeepingI am not adding I did not push to this branch, so Dependabot keeps ownership of it. |
tonic 0.14 codegen emits code that only compiles against the prost 0.14 derives and the tonic 0.14 runtime. The one-crate-at-a-time major policy therefore produced three PRs (#25, #26, #29) that can never go green individually, no matter how often they are recreated. Add a grpc group that keeps tonic, tonic-*, prost and prost-* together at every update level, and exclude them from cargo-minor-patch so a minor bump cannot land in a different group than a major. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Pull request was closed
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
Bumps tonic-build from 0.12.3 to 0.14.6.
Release notes
Sourced from tonic-build's releases.
Changelog
Sourced from tonic-build's changelog.
Commits
6cb6056chore: release v0.14.6 (#2624)efde924grpc: change helloworld example to pass request as a view (#2632)d47b001transport: add max_frame_size to client Endpoint (#2592)02c01c7Allow setting the HTTP/2 client header table size (#2582)3185354examples: add grpc version of helloworld (#2630)f585303fix(grpc): Fix grpc-google build (#2628)ff7bcbbfeat(grpc): Google call credentials (#2610)f93037bfeat(tonic-xds): make XdsChannelGrpc Sync (#2627)d834bebgrpc: Update Status to be a Result<> and make StatusErr which holds non-OK co...2392224grpc: add route_guide example and make minor tweaks to the generated code API...