Skip to content

Commit

Permalink
document workflow schema version
Browse files Browse the repository at this point in the history
  • Loading branch information
mfleader committed Oct 19, 2023
1 parent 0175b7f commit 45e26d0
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 3 deletions.
8 changes: 7 additions & 1 deletion docs/arcaflow/workflows/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Creating Arcaflow workflows

Arcaflow workflows consist of three parts:
Arcaflow workflows consist of four parts:

<h2>Version</h2>

The version section states which workflow schema version you are using to write your workflow. The latest supported workflow schema is `v0.1.0`.

[Workflow and Engine Compatibility &raquo;](matrix.md){ .md-button }

<h2>Inputs</h2>

Expand Down
7 changes: 7 additions & 0 deletions docs/arcaflow/workflows/matrix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Workflow and Engine Compatibility Matrix

The workflow schema version uses the [semantic versioning 2.0.0 specification](https://semver.org/). In a workflow file definition, the schema version is prepended with a `v`. For example, `0.1.0` is written as `v0.1.0`.

| Workflow Schema Version | Arcaflow Engine Release |
|---|---|
| 0.1.0 | 0.7.0+ |
4 changes: 2 additions & 2 deletions docs/arcaflow/workflows/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Arcaflow can produce multiple output groups for a workflow. These output groups
A common example of two mutually exclusive events could be the availability of your data storage service. Let's assume the service is either available, or unavailable (the unavailble state also includes any states where an error is thrown during data insertion). Multiple workflow outputs allows you to plan for these two events.
In this example taken from the [Arcaflow Workflows](https://github.com/arcalot/arcaflow-workflows/blob/main/example-workflow/workflow.yaml) project, the `success` output collects the data from the specified steps and inserts it into data storage. The `no-indexing` output collects the data, the error logs, and does not store the data.
In this example taken from the [Arcaflow Workflows](https://raw.githubusercontent.com/arcalot/arcaflow-workflows/main/examples/serial-wait_for/workflow.yaml) project, the `success` output collects the data from the specified steps and inserts it into data storage. The `no-indexing` output collects the data, the error logs, and does not store the data.

```yaml
{!https://raw.githubusercontent.com/arcalot/arcaflow-workflows/main/example-workflow/workflow.yaml [ln:90-100]!}
{!https://raw.githubusercontent.com/arcalot/arcaflow-workflows/main/examples/serial-wait_for/workflow.yaml [ln:27-30]!}
```

0 comments on commit 45e26d0

Please sign in to comment.