Argo Workflow Steps Template
Argo's steps template, whose double-nested list is a genuine parser trap: the outer list is sequential and the inner list is parallel, so a reader that flattens it reports four sequential steps instead of three groups.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: fanout-
namespace: example-apps
spec:
entrypoint: main
templates:
- name: main
steps:
- - name: prepare
template: echo
arguments:
parameters:
- name: message
value: prepare
- - name: shard-a
template: echo
arguments:
parameters:
- name: message
value: shard-a
- name: shard-b
template: echo
arguments:
parameters:
- name: message
value: shard-b
- - name: collect
template: echo
when: "{{steps.shard-a.status}} == Succeeded"
arguments:
parameters:
- name: message
value: collect
- name: echo
inputs:
parameters:
- name: message
container:
image: registry.example.invalid/example-org/echo:1.0.0
command: [echo]
args: ["{{inputs.parameters.message}}"]
Specifications
- System
- Argo Workflows
- Kind
- Workflow
- Template Type
- steps
- Step Groups
- 3
- Parallel Steps
- 2
- Has When Condition
- true
- Edge Case
- double-nested list means parallel within a group
Testing contract
Expected to pass- Scenario
- Read an Argo steps template whose nesting depth encodes sequential versus parallel execution
- Expected result
- Three sequential step groups resolve, the middle group holds 2 parallel steps, and flattening the nesting is reported as incorrect
What is a .yaml file?
YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.
How to use this file
Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.
How to use this file for testing
“Argo Workflow Steps Template” is a deterministic Testaroo fixture for Graph data, Data engineering, Conversion testing. Node/edge datasets in GraphML and GEXF (directed and undirected, with attributes and weights), for testing network importers, layout tools, and graph converters.
Documented properties for this file: YAML · 1,132 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such, expect parsers to fail loudly rather than silently accept them.
Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.
Code examples
import yaml # pip install pyyaml
with open("argo-workflow-steps.yaml") as f:
data = yaml.safe_load(f)
print(data)Generated by generation/pipelines.py. Free for any use, no attribution required, license.
Related files
- yamlArgo Workflow DAG TemplateAn Argo Workflows DAG template carrying the same six-task ETL topology as the Airflow, Graphviz and Mermaid fixtures in this category, so a converter or visualiser can be scored against one known answer across four formats.

- pyAirflow DAG Definition (Operator Style)An Airflow DAG definition in the classic operator style, using only the no-op EmptyOperator so the file describes a topology and performs no work. Carries the six-task ETL graph shared across the Airflow JSON, Argo, Graphviz and Mermaid fixtures.

- pyAirflow TaskFlow API DAGA decorator-based Airflow TaskFlow DAG where dependencies are implied by function calls rather than >> operators: the shape static DAG extractors most often get wrong. Every task returns a literal, so nothing performs I/O.

- jsonAirflow-Shaped Serialized DAG (JSON)The serialized-DAG shape Airflow stores in its metadata database, as standalone JSON: per-task metadata with explicit downstream_task_ids. Carries the same six-task topology as the Python, Argo, Graphviz and Mermaid fixtures.

- cwlCWL Scatter and Cross-ProductCWL scatter in both forms: a single-parameter scatter over an array input, and a two-parameter scatter with scatterMethod flat_crossproduct. The scatter dimensionality is what distinguishes correct CWL engines from approximate ones.

- cwlCWL Workflow (Six-Step Topology)A CWL Workflow carrying the same six-step ETL topology as the Airflow and Argo fixtures, with dependencies expressed as step output references and a multi-source input resolved by pickValue. For cross-format DAG conversion tests.
