From 58eed74e3ffd7debd85a7497f41d37988b49ba8a Mon Sep 17 00:00:00 2001 From: Yuri Zhao Date: Mon, 15 Jul 2024 11:03:39 -0400 Subject: [PATCH 1/4] Signed-off-by: Yuri Zhao fix task run hyperlinks and add allowing another workflow description Signed-off-by: Yuri Zhao Signed-off-by: Joost van Berkel --- dsl-reference.md | 2 +- dsl.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 6eb5ff60..5ed78d47 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -233,7 +233,7 @@ The Serverless Workflow DSL defines a list of [tasks](#task) that **must be** su - [For](#for), used to iterate over a collection of items, and conditionally perform a task for each of them. - [Listen](#listen), used to listen for an [event](#event) or more. - [Raise](#raise), used to raise an [error](#error) and potentially fault the [workflow](#workflow). -- [Run](#run), used to run a [container](#container), a [script](#script) or event a [shell](#shell) command. +- [Run](#run), used to run a [container](#container-process), a [script](#script-process) , a [shell](#shell-process) command or even another [workflow](#workflow-process). - [Switch](#switch), used to dynamically select and execute one of multiple alternative paths based on specified conditions - [Set](#set), used to dynamically set or update the [workflow](#workflow)'s data during the its execution. - [Try](#try), used to attempt executing a specified [task](#task), and to handle any resulting [errors](#error) gracefully, allowing the [workflow](#workflow) to continue without interruption. diff --git a/dsl.md b/dsl.md index 71b3cdce..ae197c4c 100644 --- a/dsl.md +++ b/dsl.md @@ -107,7 +107,7 @@ The Serverless Workflow DSL defines several default [task](dsl-reference.md#task - [For](dsl-reference.md#for), used to iterate over a collection of items, and conditionally perform a task for each of them. - [Listen](dsl-reference.md#listen), used to listen for an [event](dsl-reference.md#event) or more. - [Raise](dsl-reference.md#raise), used to raise an [error](dsl-reference.md#error) and potentially fault the [workflow](dsl-reference.md#workflow). -- [Run](dsl-reference.md#run), used to run a [container](dsl-reference.md#container), a [script](dsl-reference.md#script) or event a [shell](dsl-reference.md#shell) command. +- [Run](dsl-reference.md#run), used to run a [container](dsl-reference.md#container-process), a [script](dsl-reference.md#script-process), a [shell](dsl-reference.md#shell-process) command or even another [workflow](#workflow-process). - [Switch](dsl-reference.md#switch), used to dynamically select and execute one of multiple alternative paths based on specified conditions - [Set](dsl-reference.md#set), used to dynamically set or update the [workflow](dsl-reference.md#workflow)'s data during the its execution. - [Try](dsl-reference.md#try), used to attempt executing a specified [task](dsl-reference.md#task), and to handle any resulting [errors](dsl-reference.md#error) gracefully, allowing the [workflow](dsl-reference.md#workflow) to continue without interruption. From 0c900ca92e0d97109d91936fdb528883ba7afda8 Mon Sep 17 00:00:00 2001 From: Yuri Zhao Date: Mon, 15 Jul 2024 11:11:23 -0400 Subject: [PATCH 2/4] missing dsl reference Signed-off-by: Yuri Zhao Signed-off-by: Joost van Berkel --- dsl.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dsl.md b/dsl.md index ae197c4c..f69bdcc1 100644 --- a/dsl.md +++ b/dsl.md @@ -107,7 +107,7 @@ The Serverless Workflow DSL defines several default [task](dsl-reference.md#task - [For](dsl-reference.md#for), used to iterate over a collection of items, and conditionally perform a task for each of them. - [Listen](dsl-reference.md#listen), used to listen for an [event](dsl-reference.md#event) or more. - [Raise](dsl-reference.md#raise), used to raise an [error](dsl-reference.md#error) and potentially fault the [workflow](dsl-reference.md#workflow). -- [Run](dsl-reference.md#run), used to run a [container](dsl-reference.md#container-process), a [script](dsl-reference.md#script-process), a [shell](dsl-reference.md#shell-process) command or even another [workflow](#workflow-process). +- [Run](dsl-reference.md#run), used to run a [container](dsl-reference.md#container-process), a [script](dsl-reference.md#script-process), a [shell](dsl-reference.md#shell-process) command or even another [workflow](dsl-reference.md#workflow-process). - [Switch](dsl-reference.md#switch), used to dynamically select and execute one of multiple alternative paths based on specified conditions - [Set](dsl-reference.md#set), used to dynamically set or update the [workflow](dsl-reference.md#workflow)'s data during the its execution. - [Try](dsl-reference.md#try), used to attempt executing a specified [task](dsl-reference.md#task), and to handle any resulting [errors](dsl-reference.md#error) gracefully, allowing the [workflow](dsl-reference.md#workflow) to continue without interruption. From fe6808c32b81dc36e707a21fc4ef3d00be5cf8e2 Mon Sep 17 00:00:00 2001 From: Matthias Pichler Date: Mon, 15 Jul 2024 09:38:28 +0000 Subject: [PATCH 3/4] feat: add titles to tasks Signed-off-by: Matthias Pichler Signed-off-by: Joost van Berkel --- schema/workflow.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/schema/workflow.yaml b/schema/workflow.yaml index 4ab258be..c1a0d749 100644 --- a/schema/workflow.yaml +++ b/schema/workflow.yaml @@ -103,6 +103,7 @@ properties: description: Schedules the workflow $defs: taskList: + title: TaskList type: array items: type: object @@ -314,6 +315,7 @@ $defs: additionalProperties: true description: A name/value mapping of the parameters, if any, to call the function with. forkTask: + title: ForkTask description: Allows workflows to execute multiple tasks concurrently and optionally race them against each other, with a single possible winner, which sets the task's output. $ref: '#/$defs/taskBase' type: object @@ -331,6 +333,7 @@ $defs: type: boolean default: false doTask: + title: DoTask description: Allows to execute a list of tasks in sequence $ref: '#/$defs/taskBase' type: object @@ -340,6 +343,7 @@ $defs: do: $ref: '#/$defs/taskList' emitTask: + title: EmitTask description: Allows workflows to publish events to event brokers or messaging systems, facilitating communication and coordination between different components and services. $ref: '#/$defs/taskBase' type: object @@ -377,6 +381,7 @@ $defs: additionalProperties: true required: [ event ] forTask: + title: ForTask description: Allows workflows to iterate over a collection of items, executing a defined set of subtasks for each item in the collection. This task type is instrumental in handling scenarios such as batch processing, data transformation, and repetitive operations across datasets. $ref: '#/$defs/taskBase' type: object @@ -404,6 +409,7 @@ $defs: do: $ref: '#/$defs/taskList' listenTask: + title: ListenTask description: Provides a mechanism for workflows to await and react to external events, enabling event-driven behavior within workflow systems. $ref: '#/$defs/taskBase' type: object @@ -418,6 +424,7 @@ $defs: description: Defines the event(s) to listen to. required: [ to ] raiseTask: + title: RaiseTask description: Intentionally triggers and propagates errors. $ref: '#/$defs/taskBase' type: object @@ -432,6 +439,7 @@ $defs: description: Defines the error to raise. required: [ error ] runTask: + title: RunTask description: Provides the capability to execute external containers, shell commands, scripts, or workflows. $ref: '#/$defs/taskBase' type: object @@ -540,6 +548,7 @@ $defs: required: [ workflow ] description: Enables the invocation and execution of nested workflows within a parent workflow, facilitating modularization, reusability, and abstraction of complex logic or business processes by encapsulating them into standalone workflow units. setTask: + title: SetTask description: A task used to set data $ref: '#/$defs/taskBase' type: object @@ -552,6 +561,7 @@ $defs: additionalProperties: true description: The data to set switchTask: + title: SwitchTask description: Enables conditional branching within workflows, allowing them to dynamically select different paths based on specified conditions or criteria $ref: '#/$defs/taskBase' type: object @@ -579,6 +589,7 @@ $defs: $ref: '#/$defs/flowDirective' description: The flow directive to execute when the case matches. tryTask: + title: TryTask description: Serves as a mechanism within workflows to handle errors gracefully, potentially retrying failed tasks before proceeding with alternate ones. $ref: '#/$defs/taskBase' type: object @@ -610,6 +621,7 @@ $defs: description: The definition of the task(s) to run when catching an error. $ref: '#/$defs/taskList' waitTask: + title: WaitTask description: Allows workflows to pause or delay their execution for a specified period of time. $ref: '#/$defs/taskBase' type: object From c1d420b49a614644786c22db13080559110365dc Mon Sep 17 00:00:00 2001 From: Joost van Berkel Date: Thu, 18 Jul 2024 15:22:24 +0200 Subject: [PATCH 4/4] Fixed typo RunWokflow Signed-off-by: Joost van Berkel --- schema/workflow.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/workflow.yaml b/schema/workflow.yaml index c1a0d749..370e9db1 100644 --- a/schema/workflow.yaml +++ b/schema/workflow.yaml @@ -523,7 +523,7 @@ $defs: required: [ command ] required: [ shell ] description: Enables the execution of shell commands within a workflow, enabling workflows to interact with the underlying operating system and perform system-level operations, such as file manipulation, environment configuration, or system administration tasks. - - title: RunWokflow + - title: RunWorkflow properties: workflow: title: RunWorkflowDescriptor