getgauge/gauge-proto

Repo tagging to use it as submodule

nvborisenko opened this issue · 4 comments

This repo is shared across gauge runner and plugins. All of them are using it as git submoule. The issue is that there is a chance that runners and plugins will use different revisions/commits of proto messages which produces compatibility issues.

I propose to create a specific tag/branch, and all consumers will point submodule to this specific tag/branch.

sriv commented

Ideally, the gauge-proto definitions should be backward compatible. But this is a good thing to do irrespective.

sriv commented

@nvborisenko - currently, we publish java client for proto changes here: https://mvnrepository.com/artifact/com.thoughtworks.gauge/gauge-api-client

I am considering following tags for matching the same version. Wanted to check with you, if you have any thoughts/suggestions.

We have a nuget package which wraps the C# code, but that is not automated (yet). If you think it would be better to push C# client as well, let me know. We built the C# client for internal use, but I see no reason to keep it that way if it can help other plugin authors.

Let's discuss this again.

Since we started, there have been many updates in the
protobuf and grpc tools space.

I think we can use https://buf.build/product/bsr and
https://buf.build/product/cli to solve our problem.

Buf has a free option for publishing proto files. So, we
would need to publish our proto files to a registry using this tool,
and then refer to the registry instead of using a git submodule.

Should we consider doing this?

sriv commented

yes, think this is a good step to take