Skip to content

Conversation

@cretz
Copy link

@cretz cretz commented Feb 4, 2025

When working through an interop sample that has both https://github.com/coinbase/temporal-ruby and https://github.com/temporalio/sdk-ruby in the same process, it clashed due to how Google protobuf library does not allow the same qualified proto generated in different places.

After testing, I am happy to report the projects can coexist so long as the Temporal Ruby SDK's generated protos are loaded instead. So this PR checks for an env var and if that env var is set, the require is not called for loading protos. With this change, I have confirmed that the Coinbase Ruby SDK client can use Temporal Ruby SDK workflows, and vice versa, and that Coinbase Ruby SDK workflows can use Temporal Ruby SDK activities, and vice versa. I should have a sample showing this soon.

Note, for the sed changes to Makefile, the protos have not been regenerated for a couple of years, and if the latest protoc from grpc-tools is used it makes several changes which I didn't want to do. So I manually/temporarily run bundle add grpc-tools --version 1.53.2 (the version at the time of last proto gen in this repo) before make proto to ensure these changes add no unnecessary side effects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant