feat: update protos to Dapr v1.17.0-rc.1 and add Buf scaffolding#740
Draft
nelson-parente wants to merge 3 commits intodapr:mainfrom
Draft
feat: update protos to Dapr v1.17.0-rc.1 and add Buf scaffolding#740nelson-parente wants to merge 3 commits intodapr:mainfrom
nelson-parente wants to merge 3 commits intodapr:mainfrom
Conversation
Update fetch-proto.sh to download proto definitions from Dapr v1.17.0-rc.1 (previously pinned to v1.16.0-rc.3). This adds all new building block message type protos that were split out of dapr.proto in v1.17: - runtime/v1/actors.proto - runtime/v1/ai.proto (Conversation Alpha2) - runtime/v1/binding.proto - runtime/v1/configuration.proto - runtime/v1/crypto.proto - runtime/v1/invoke.proto - runtime/v1/jobs.proto (Jobs/Scheduler Alpha1) - runtime/v1/lock.proto - runtime/v1/metadata.proto - runtime/v1/pubsub.proto (streaming subscriptions) - runtime/v1/secret.proto - runtime/v1/state.proto - runtime/v1/workflow.proto (Beta1/Stable) Also adds: - google/protobuf/struct.proto and duration.proto (new dependencies) - Pin Google WKT downloads to protobuf v28.3 (was floating master) - buf.yaml and buf.gen.yaml scaffolding for future Buf migration - Correct compilation order (message types before service definitions) The generated proto stubs are NOT regenerated in this commit — run `./scripts/fetch-proto.sh` locally to regenerate after merging. Relates to: dapr#737, dapr#667, dapr#664, dapr#668 Signed-off-by: Nelson Parente <nelson_parente@live.com.pt>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #740 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 1
Lines 6 6
Branches 1 1
=========================================
Hits 6 6 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
- Add missing google/protobuf/wrappers.proto (sentry.proto imports it) - Add missing dapr/proto/internals/v1/reminders.proto (service_invocation.proto imports it) - Fix compile order: appcallback.proto before pubsub.proto (pubsub imports appcallback) - Fix compile order: reminders.proto before service_invocation.proto - Add curl --fail flag to catch HTTP 404 errors on proto downloads - Quote variables in mkdir -p to handle paths with spaces - Scope buf.yaml module path to src/proto/dapr (excludes Google WKTs from lint) - Scope buf.gen.yaml inputs to src/proto/dapr (prevents duplicate codegen of WKTs) - Remove BSR module name from buf.yaml (not pushing to BSR) - Add google/protobuf/wrappers.proto to compile section Signed-off-by: Nelson Parente <nelson_parente@live.com.pt>
Regenerate all proto stubs from Dapr v1.17.0-rc.1. In this version, message types were split from dapr.proto into per-building-block proto files (actors.proto, binding.proto, state.proto, etc.). Update all TypeScript imports across src/ and test/ to reference the new proto modules: - actors_pb: actor state, invoke, timer, reminder types - binding_pb: InvokeBindingRequest/Response - configuration_pb: Get/Subscribe/Unsubscribe configuration types - crypto_pb: Encrypt/Decrypt request/options types - invoke_pb: InvokeServiceRequest - lock_pb: TryLock/Unlock request/response types - metadata_pb: GetMetadata/SetMetadata request/response types - pubsub_pb: PublishEvent/BulkPublish types - secret_pb: GetSecret/GetBulkSecret types - state_pb: GetState/SaveState/DeleteState/Query/Transaction types Also: - Add grpc-tools and protoc-gen-js to devDependencies (previously installed ad-hoc via --no-save, causing reproducibility issues) - Update fetch-proto.sh to use npm-installed plugins with explicit paths instead of relying on system PATH Verified: tsc --noEmit passes with 0 errors, all 172 unit tests pass. Signed-off-by: Nelson Parente <nelson_parente@live.com.pt>
Contributor
|
@nelson-parente This SDK needs a bit of work on it to catch up to the status quo (especially on conversation) before it can merge the 1.17 runtime (which introduced a breaking change in the latest conversation update), so this PR likely won't be merged for a while. |
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.
Summary
scripts/fetch-proto.shto download proto definitions from Dapr v1.17.0-rc.1 (was v1.16.0-rc.3)dapr.protoin v1.17 (actors, ai, binding, configuration, crypto, invoke, jobs, lock, metadata, pubsub, secret, state, workflow)google/protobuf/struct.protoandduration.proto(new import dependencies)protobuf v28.3(was floatingmaster)buf.yamlandbuf.gen.yamlscaffolding for future Buf migration (Update build scripts + migration to use Buf #737)New APIs Unblocked
This proto update is the prerequisite for implementing:
jobs.protowithScheduleJobAlpha1,GetJobAlpha1,DeleteJobAlpha1,ListJobsAlpha1,DeleteJobsByPrefixAlpha1ai.protowithConverseAlpha2and multi-role message modelpubsub.protowithSubscribeTopicEventsAlpha1bidirectional streamworkflow.protowithStartWorkflowBeta1,GetWorkflowBeta1, etc.Test plan
./scripts/fetch-proto.shlocally to verify all proto files download successfullynpm run buildto verify TypeScript compilation with regenerated stubsnpm run test:unit:allto verify no unit test regressionsbuf lintpasses with the newbuf.yamlconfigNote
Generated proto stubs are NOT regenerated in this PR — run
./scripts/fetch-proto.shafter review to regenerate. A follow-up PR will complete the Buf migration by replacing the shell-based protoc invocations withbuf generate.