sdk-go icon indicating copy to clipboard operation
sdk-go copied to clipboard

Examples of GO SDK implementations

Open tee05S opened this issue 3 years ago • 5 comments

I am interested in implementing the serverless workflow using the GO SDK in one of my projects.

Do you think that the Go SDK is mature enough to use in projects. Are there any projects which are currently live with the Go SDK? Do you have a sample GO project using the serverless workflow which I can use as reference?

Any help would be appreciated!

tee05S avatar Sep 21 '21 18:09 tee05S

@ricardozanini ^^

@tee05S the latest Go SDK release https://github.com/serverlessworkflow/sdk-go/releases conforms to the specification v0.6 version. We are still working on the next release that should align it with the v0.7 spec release. Ricardo might be able to give you some ballpark time estimate for that.

As far as maturity goes, we rely on tests and keep adding tests for each of SDK release as the spec gets updated/changed. We also maintain a compatibility table (main readme) that shows which SDK versions you should use for which spec release. If you find any errors, feel free to raise an issue and even contribute a fix. We will work with you to make sure things get resolved.

Hope this helps

tsurdilo avatar Sep 21 '21 19:09 tsurdilo

Thanks for the response @tsurdilo . @ricardozanini does the new release have support for graphql as I was not able to wire it in. Do we have any examples of the go sdk implementations?

tee05S avatar Sep 22 '21 16:09 tee05S

@tee05S I'd say that the SDK is mature enough to start implementation in Go. It does all the basics that you need to be done like parsing and validating the SDK.

We welcome contributions to add more features.

What do you mean by graphql support? Can you elaborate? The specification defines that a function can be of the type GraphQL, and we will probably add validation to the attribute. The execution of the GraphQL should be done by the implementation.

This is an SDK to parse/validate a given workflow definition, not an implementation of the specification.

In the README file and in our unit tests you can see examples of usage.

ricardozanini avatar Sep 22 '21 16:09 ricardozanini

@ricardozanini What I meant was that the Function struct in the model package doesnt have a type attribute to implement different types of function calls

tee05S avatar Sep 27 '21 16:09 tee05S

@tee05S can you suggest an implementation? The custom function type was introduced for the to-be-released v0.8. I will start thinking about custom functions now since we just released v0.7.

Feel free to suggest something, so we can work together to implement it. :)

ricardozanini avatar Oct 01 '21 19:10 ricardozanini