You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* **New Features**
* continueOn now accepts a shorthand string ("skipped" or "failed") or a
detailed object, with support for exitCode and output as single values
or arrays and a markSuccess flag.
* **Bug Fixes**
* Stronger, field-specific validation and clearer error messages for
continueOn inputs, including case-insensitive string parsing.
* **Tests**
* Added coverage for shorthand strings, object forms, arrays, and
invalid continueOn values.
* **Documentation**
* Schema updated to document the string-or-object union and expanded
field options.
Copy file name to clipboardExpand all lines: schemas/dag.schema.json
+53-44Lines changed: 53 additions & 44 deletions
Original file line number
Diff line number
Diff line change
@@ -654,56 +654,65 @@
654
654
]
655
655
},
656
656
"continueOn": {
657
-
"type": "object",
658
-
"properties": {
659
-
"failure": {
660
-
"type": "boolean",
661
-
"description": "Continue dag-run even if this step fails"
662
-
},
663
-
"skipped": {
664
-
"type": "boolean",
665
-
"description": "Continue dag-run even if this step is skipped due to preconditions"
657
+
"oneOf": [
658
+
{
659
+
"type": "string",
660
+
"enum": ["skipped", "failed"],
661
+
"description": "Shorthand: 'skipped' to continue if step is skipped, 'failed' to continue if step fails"
666
662
},
667
-
"exitCode": {
668
-
"oneOf": [
669
-
{
670
-
"type": "integer",
671
-
"description": "Exit code that should be treated as successful"
663
+
{
664
+
"type": "object",
665
+
"properties": {
666
+
"failure": {
667
+
"type": "boolean",
668
+
"description": "Continue dag-run even if this step fails"
672
669
},
673
-
{
674
-
"type": "string",
675
-
"description": "Exit code represented as a string (parsed as integer at runtime)"
670
+
"skipped": {
671
+
"type": "boolean",
672
+
"description": "Continue dag-run even if this step is skipped due to preconditions"
676
673
},
677
-
{
678
-
"type": "array",
679
-
"items": {
680
-
"type": "integer"
681
-
},
682
-
"description": "List of exit codes that should be treated as successful"
683
-
}
684
-
]
685
-
},
686
-
"output": {
687
-
"oneOf": [
688
-
{
689
-
"type": "string",
690
-
"description": "Output text or pattern that indicates success. Supports regex with 're:' prefix."
674
+
"exitCode": {
675
+
"oneOf": [
676
+
{
677
+
"type": "integer",
678
+
"description": "Exit code that should be treated as successful"
679
+
},
680
+
{
681
+
"type": "string",
682
+
"description": "Exit code represented as a string (parsed as integer at runtime)"
683
+
},
684
+
{
685
+
"type": "array",
686
+
"items": {
687
+
"type": "integer"
688
+
},
689
+
"description": "List of exit codes that should be treated as successful"
690
+
}
691
+
]
691
692
},
692
-
{
693
-
"type": "array",
694
-
"items": {
695
-
"type": "string",
696
-
"description": "Output text or patterns that indicate success. Supports regex with 're:' prefix."
697
-
}
693
+
"output": {
694
+
"oneOf": [
695
+
{
696
+
"type": "string",
697
+
"description": "Output text or pattern that indicates success. Supports regex with 're:' prefix."
698
+
},
699
+
{
700
+
"type": "array",
701
+
"items": {
702
+
"type": "string",
703
+
"description": "Output text or patterns that indicate success. Supports regex with 're:' prefix."
704
+
}
705
+
}
706
+
]
707
+
},
708
+
"markSuccess": {
709
+
"type": "boolean",
710
+
"description": "Mark the step as successful even if it technically failed but met continue conditions"
698
711
}
699
-
]
700
-
},
701
-
"markSuccess": {
702
-
"type": "boolean",
703
-
"description": "Mark the step as successful even if it technically failed but met continue conditions"
712
+
}
704
713
}
705
-
},
706
-
"description": "Conditions under which the DAG should continue executing even if this step fails or is skipped."
714
+
],
715
+
"description": "Conditions under which the DAG should continue executing even if this step fails or is skipped. Can be a string ('skipped' or 'failed') or an object with detailed configuration."
0 commit comments