fix: regenerate stale python/ts clients + msrv/client/proto-drift CI gates#356
Merged
Conversation
The python and ts clients were 17 rpcs behind proto/ember/v1/ember.proto (only the go client was regenerated in #337). Regenerate both and add CI so this class of drift can't recur: - clients/ember-py: regenerate pb2/pb2_grpc (all 130 rpcs); make the Makefile's sed invocation portable (bare `sed -i ''` is macOS-only and fails on Linux) - clients/ember-ts: regenerate src/generated types and the vendored proto copy (17 new request/response types) - ci: new jobs — msrv check on the declared 1.93 toolchain (other jobs track latest stable), python client pytest, ts client build, and a proto-drift check (scripts/check-client-drift.sh) asserting every rpc in the canonical proto exists in each client's generated stubs Claude-Session: https://claude.ai/code/session_017uab7k2MyLpWAQwFDNt4tw
kacy
added a commit
that referenced
this pull request
Jul 3, 2026
…tes (#356) The python and ts clients were 17 rpcs behind proto/ember/v1/ember.proto (only the go client was regenerated in #337). Regenerate both and add CI so this class of drift can't recur: - clients/ember-py: regenerate pb2/pb2_grpc (all 130 rpcs); make the Makefile's sed invocation portable (bare `sed -i ''` is macOS-only and fails on Linux) - clients/ember-ts: regenerate src/generated types and the vendored proto copy (17 new request/response types) - ci: new jobs — msrv check on the declared 1.93 toolchain (other jobs track latest stable), python client pytest, ts client build, and a proto-drift check (scripts/check-client-drift.sh) asserting every rpc in the canonical proto exists in each client's generated stubs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 2 of a 5-PR cleanup series from a full-codebase audit.
What
Sintercard,Hrandfield,Zmpop, bitmap ops,Expireat/Pexpireat, …) — fix(go): regenerate protobuf stubs for 17 new rpcs #337 only regenerated Go. Verified: all 130 RPCs now present in each client; TS builds clean (tsc); Python client tests pass (7/7) against the new stubs.clients/ember-pyusedsed -i '', which only works with BSD sed —make proto-genfailed on Linux. Now usessed -i.bak.msrv (1.93)—cargo checkon the declaredrust-version; previously the MSRV was never verified (all jobs track latest stable viaRUSTUP_TOOLCHAIN).python client— installs and runs the existing pytest suite, which was never wired into CI.ts client—npm ci && npm run build(the package has no tests yet; the build is the gate).client proto drift—scripts/check-client-drift.shasserts every RPC inproto/ember/v1/ember.protoappears in each client's generated stubs and the TS vendored proto. Name-presence rather than byte-exact regeneration, so it's stable across protoc/plugin versions while catching exactly the drift class that happened. Confirmed it fails against the pre-regen stubs and passes now.