From d08cdeff6300edfb46204b3b9fbde3f3355db35f Mon Sep 17 00:00:00 2001 From: Yury Yarashevich Date: Sat, 20 Jun 2026 10:03:49 +0200 Subject: [PATCH] feat: widen tonic dependency to >=0.13, <0.15 to support tonic 0.14 --- .github/workflows/ci.yml | 21 ++++++++++++++++++++- CHANGELOG.md | 4 ++++ ginepro/Cargo.toml | 2 +- shared_proto/Cargo.toml | 7 ++++--- shared_proto/build.rs | 2 +- tests/Cargo.toml | 4 ++-- 6 files changed, 32 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da2e812..faeb5ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -110,5 +110,24 @@ jobs: command: publish args: --dry-run --manifest-path ginepro/Cargo.toml - + tonic-0_13-check: + name: ginepro builds against tonic 0.13 + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + - name: Check ginepro against the 0.13 lower bound + run: | + cd ginepro + cargo remove --dev proptest shared-proto tests + printf '\n[workspace]\n' >> Cargo.toml + cargo update -p tonic --precise 0.13.1 + cargo check --no-default-features --features tls-ring + cargo check --no-default-features --features tls-aws-lc diff --git a/CHANGELOG.md b/CHANGELOG.md index bdcb8b6..77cf1c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- Widen the `tonic` dependency to `>=0.13, <0.15` to support **tonic** 0.14 alongside 0.13. + ## [0.9.3](https://github.com/TrueLayer/ginepro/compare/ginepro-v0.9.2...ginepro-v0.9.3) - 2026-05-15 ### Added diff --git a/ginepro/Cargo.toml b/ginepro/Cargo.toml index 703fbef..adfd8c6 100644 --- a/ginepro/Cargo.toml +++ b/ginepro/Cargo.toml @@ -20,7 +20,7 @@ async-trait = "0.1" http = "1" thiserror = "2" tokio = { version = "1", features = ["full"] } -tonic = { version = "0.13", default-features = false, features = ["router", "transport", "codegen", "prost"] } +tonic = { version = ">=0.13, <0.15", default-features = false, features = ["router", "transport", "codegen"] } tower = { version = "0.5", default-features = false, features = ["discover"] } tracing = "0.1" hickory-resolver = { version = "0.26", features = ["tokio"] } diff --git a/shared_proto/Cargo.toml b/shared_proto/Cargo.toml index 3f3dde8..43cb180 100644 --- a/shared_proto/Cargo.toml +++ b/shared_proto/Cargo.toml @@ -6,8 +6,9 @@ edition = "2021" publish = false [dependencies] -prost = "0.13" -tonic = "0.13" +prost = "0.14" +tonic = "0.14" +tonic-prost = "0.14" [build-dependencies] -tonic-build = "0.13" +tonic-prost-build = "0.14" diff --git a/shared_proto/build.rs b/shared_proto/build.rs index 59fdd38..f8b5d70 100644 --- a/shared_proto/build.rs +++ b/shared_proto/build.rs @@ -3,7 +3,7 @@ //! tonic functionality. fn main() -> Result<(), Box> { - tonic_build::configure() + tonic_prost_build::configure() .build_server(true) .build_client(true) .compile_protos(&["proto/test.proto", "proto/echo.proto"], &["proto/"])?; diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 1391a8e..6342ca4 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -13,7 +13,7 @@ hyper = "1" openssl = "0.10" tokio = { version = "1", features = ["full"] } tokio-stream = { version = "0.1", features = ["net"] } -tonic = { version = "0.13", features = ["tls-ring"] } +tonic = { version = "0.14", features = ["tls-ring"] } tower-layer = "0.3" tower-service = "0.3" tracing = { version = "0.1", features = ["attributes", "log"] } @@ -22,4 +22,4 @@ tracing = { version = "0.1", features = ["attributes", "log"] } anyhow = "1" async-trait = "0.1" shared-proto = { path = "../shared_proto" } -tonic-health = "0.13" +tonic-health = "0.14"