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

Update support to v0.8

Open brlala opened this issue 2 years ago • 17 comments

What would you like to be added: Update to v0,8

Why is this needed: V0.8 has lots of new enhancements like async subflow and custom function. All other SDK has already been updated, should this be done as well?

brlala avatar Sep 07 '22 07:09 brlala

@brlala, it's on our roadmap to upgrade. We are looking for contributions :)

ricardozanini avatar Sep 08 '22 14:09 ricardozanini

@ricardozanini I'd like to take care of this, because I am reviewing all the existing verifications, relevant to this feature.

lsytj0413 avatar Sep 16 '22 02:09 lsytj0413

@lsytj0413 that's perfectly fine from my side.

ricardozanini avatar Sep 16 '22 15:09 ricardozanini

Hi all, I'll he helping on this task in the next few days.

The spec for reference: https://github.com/serverlessworkflow/specification/tree/0.8.x/roadmap#-release-version-08

The table below is to help us to track what needs to be completed:

Status Description PR
:heavy_check_mark: Support custom function type definition https://github.com/serverlessworkflow/sdk-go/pull/80
:heavy_check_mark: Workflow "name" no longer a required property https://github.com/serverlessworkflow/sdk-go/pull/81
:heavy_check_mark: Workflow "start" no longer a required property https://github.com/serverlessworkflow/sdk-go/pull/84
:heavy_check_mark: ForEach state "iterationParam" no longer a required property https://github.com/serverlessworkflow/sdk-go/pull/85
:heavy_check_mark: Added "useData" for eventDataFilter, and "useResults" for actionDataFilter https://github.com/serverlessworkflow/sdk-go/pull/79, https://github.com/serverlessworkflow/sdk-go/pull/82
:heavy_check_mark: Added "resultEventTimeout" for action eventref https://github.com/serverlessworkflow/sdk-go/pull/90
:heavy_check_mark: Added example for "continueAs" https://github.com/serverlessworkflow/sdk-go/pull/92
:heavy_check_mark: Support for async action invocation https://github.com/serverlessworkflow/sdk-go/pull/93
:heavy_check_mark: Support for action condition https://github.com/serverlessworkflow/sdk-go/pull/83

If there is a task already added, please let me know. If possible attach the pull request in this issue.

Thanks.

spolti avatar Sep 21 '22 16:09 spolti

@spolti I'm working on Added "useData" for eventDataFilter, and "useResults" for actionDataFilter

lsytj0413 avatar Sep 22 '22 01:09 lsytj0413

Thanks for the update @lsytj0413.

spolti avatar Sep 22 '22 14:09 spolti

@lsytj0413 for the item you was working on, in the PR that was merged you have added only the useData, are you going to send another pr for the useResults field?

spolti avatar Sep 27 '22 11:09 spolti

@lsytj0413 for the item you was working on, in the PR that was merged you have added only the useData, are you going to send another pr for the useResults field?

Yep, i'm working on another PR to add useResults field.

lsytj0413 avatar Sep 27 '22 12:09 lsytj0413

probably closed by my mistake :D @ricardozanini can you please re-open?

spolti avatar Sep 30 '22 14:09 spolti

For the Added example for "continueAs" item, there isn't much to do, however there is no test to validate it. While adding a test it turns out that the data field is always nil, for example:

 - name: CheckEventQuota
   type: switch
   dataConditions:
    - condition: "${ try(.customerCount) != null and .customerCount > .quota.maxConsumedEvents
      }"
      end:
       continueAs:
        workflowId: notifycustomerworkflow
        version: '1.0'
        data: "${ del(.customerCount) }"

I am looking over it to figure out why.

spolti avatar Oct 03 '22 16:10 spolti

All tasks done. Thanks very much everyone for the effort put on this. :)

spolti avatar Oct 05 '22 13:10 spolti

@spolti, I think we can add more test cases using workflows from v0.8 to ensure we are all set. Also, if you are working on an implementation, can you please try your use cases with the latest commit and report back?

@lsytj0413 same thing, please.

So that I can work on a new release by the end of this week. :)

ricardozanini avatar Oct 05 '22 13:10 ricardozanini

@ricardozanini do you mean a v8 file that contains all v08 additions? @davidesalerno can you please try it with the operator you are working on?

spolti avatar Oct 06 '22 13:10 spolti

@spolti maybe looking for examples updated with v0.8: https://github.com/serverlessworkflow/specification/tree/0.8.x/examples

ricardozanini avatar Oct 06 '22 18:10 ricardozanini

a few fixes: https://github.com/serverlessworkflow/sdk-go/pull/104

spolti avatar Oct 10 '22 18:10 spolti

@ricardozanini it seems that we are ready to release the v08 and close this issue :)

spolti avatar Oct 24 '22 13:10 spolti

Actually, I need to finish this one first https://github.com/serverlessworkflow/sdk-go/pull/111

spolti avatar Oct 24 '22 14:10 spolti

@ricardozanini all task have done, could you please release the v0.8 version?

lsytj0413 avatar Nov 18 '22 01:11 lsytj0413

@spolti @lsytj0413 @brlala are you guys happy with the latest commit in your use cases?

ricardozanini avatar Nov 18 '22 18:11 ricardozanini

@ricardozanini maybe there is just one thing, the deepcopy stuff, not critical though.

spolti avatar Nov 18 '22 18:11 spolti

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Jan 03 '23 00:01 github-actions[bot]

@ricardozanini I think we can close this one, right?

spolti avatar Jan 03 '23 11:01 spolti