specification icon indicating copy to clipboard operation
specification copied to clipboard

Add stand-alone example resources

Open cdavernas opened this issue 4 years ago • 44 comments
trafficstars

What would you like to be added:

Stand-alone example json/yaml files, instead of just embedding them into an MD file

Why is this needed:

Allows SDKs and other implementations to unit test the successfull parsing of official, up-to-date examples

Other thoughts:

Now, what would be really awesome IMHO is to use factual examples, instead of theoretical ones, so that runtime implementations can test them to. The idea is to create some out-of-the-box examples for which runtime can be validated/tested.

We could use Swagger's Pet Store Api for demonstrating OpenApi function calls, and something like a free webhook tool for testing events.


What do you guys think?

cdavernas avatar Mar 31 '21 16:03 cdavernas

@Neuroglia I was actually working on this hehe :) I just wish there was a way to embed the files into the examples.md so we don't have to maintain both sides...

tsurdilo avatar Mar 31 '21 16:03 tsurdilo

@Neuroglia do you think doing this for the comparison examples: https://github.com/serverlessworkflow/specification/tree/main/comparisons

would be beneficial as well?

tsurdilo avatar Mar 31 '21 16:03 tsurdilo

@tsurdilo Niiiice x) Ah yes, I hear you: I face the exact same problem in some private repos. The only "sane(ish)" way to do so, IMO, is by using a pipeline to replace values in your MD with the contents of the examples. Less user-friendly to write, but at least it's up to date.

cdavernas avatar Mar 31 '21 16:03 cdavernas

@Neuroglia we can host all OpenApi defs on serverlessworkflow.io ;) +100 for "running" examples Those can also become the start of our TCK tests as well.

tsurdilo avatar Mar 31 '21 16:03 tsurdilo

@Neuroglia do you think doing this for the comparison examples: https://github.com/serverlessworkflow/specification/tree/main/comparisons would be beneficial as well?

@tsurdilo I'm not sure. I must say I only did go once or twice on that specific page, as there was no need to sell me the spec further x) But I can see the added value for more analytical brains than mine I guess!

cdavernas avatar Mar 31 '21 16:03 cdavernas

@Neuroglia if it helps, we do have (i hope all) examples here: https://github.com/serverlessworkflow/sdk-java/tree/main/api/src/test/resources/examples

but the problem with that is its a pain to maintain them all the time so they might not be all up to date with the spec examples, but the workflow dsl used there is validated against v0.6. Hope this helps for now until we work on this

tsurdilo avatar Mar 31 '21 16:03 tsurdilo

@Neuroglia here are some examples the java sdk uses for validation of some certain edge cases: https://github.com/serverlessworkflow/sdk-java/tree/main/api/src/test/resources/features hope this helps for now too :)

tsurdilo avatar Mar 31 '21 16:03 tsurdilo

@tsurdilo Aaaaah! Awesome! I'll use that to add some unit test before the commit that adds the reader/writer!

cdavernas avatar Mar 31 '21 16:03 cdavernas

@Neuroglia This might help also: https://github.com/serverlessworkflow/sdk-java/blob/main/api/src/test/java/io/serverlessworkflow/api/test/MarkupToWorkflowTest.java to see whats tested in https://github.com/serverlessworkflow/sdk-java/tree/main/api/src/test/resources/features Need to add more tests tho :( ....

tsurdilo avatar Mar 31 '21 16:03 tsurdilo

@Neuroglia one more thing, we have our dsl schemas also exposed on the website: https://serverlessworkflow.io/schemas/latest/workflow.json this is used by the vscode plugin and the diagram generation project as well the "latest" always points to the latest release of the spec you can use "previous" to access v0.5 and "snapshot" to access the latest (main branch)

..maybe we should expose the examples as well there....hmmm

tsurdilo avatar Mar 31 '21 16:03 tsurdilo

@Neuroglia looking at this tool to possible be able to do this: https://github.com/temporalio/snipsync

tsurdilo avatar Apr 21 '21 22:04 tsurdilo

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 Jun 06 '21 01:06 github-actions[bot]

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 Jul 22 '21 00:07 github-actions[bot]

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 Oct 03 '21 00:10 github-actions[bot]

@cdavernas we talked about this in this weeks meeting. will create a new repo and move all our examples and test json/yaml into it. SDK then can have a common pool of test workflows to use rather than having to have their own

tsurdilo avatar Oct 06 '21 14:10 tsurdilo

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 Nov 21 '21 00:11 github-actions[bot]

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 Mar 06 '22 00:03 github-actions[bot]

@tsurdilo Shouldn't this be re-opened?

cdavernas avatar Mar 29 '22 15:03 cdavernas

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 May 15 '22 00:05 github-actions[bot]

@tsurdilo Any update on this one? Anyone willing to take care of it?

cdavernas avatar Jun 23 '22 16:06 cdavernas

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 Aug 08 '22 00:08 github-actions[bot]

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 Sep 23 '22 00:09 github-actions[bot]

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 Nov 08 '22 00:11 github-actions[bot]

@tsurdilo @cdavernas Any update of this?When we implement sdk-go we facing this which describe at https://github.com/serverlessworkflow/sdk-go/issues/115#issuecomment-1301560340.

A standalone example json/yaml files should helpful.

lsytj0413 avatar Nov 08 '22 02:11 lsytj0413

@tsurdilo Wanna take care of it? Otherwise I'll do it, no worries - even though I resent it too 🤣: this has been opened for faaaaar to long (like about two years).

cdavernas avatar Nov 08 '22 16:11 cdavernas

on it

tsurdilo avatar Nov 08 '22 16:11 tsurdilo

You rule thanks bro!

cdavernas avatar Nov 08 '22 21:11 cdavernas

Ping me if you need/want any help

cdavernas avatar Nov 08 '22 21:11 cdavernas

Same here; I can do it as well. Or we can share, divide, and conquer!

ricardozanini avatar Nov 14 '22 20:11 ricardozanini

It will be done as part of the migration work: https://github.com/serverlessworkflow/specification-docs/pull/1

ricardozanini avatar Nov 21 '22 16:11 ricardozanini