@@ -9,13 +9,15 @@ import pydantic
from cipy.action import Composite, NodeScript, Script
from cipy.common import Context, Factory, Inputs, Outputs, Ref, Status
from cipy.shell import Shell
-from cipy.workflow import Job, Workflow
+from cipy.workflow import Job, Matrix, MatrixParams, Workflow
__all__ = [
"Composite",
"Context",
"Inputs",
"Job",
+ "Matrix",
+ "MatrixParams",
"NodeScript",
"Outputs",
"Script",
@@ -70,11 +70,15 @@ class Workflow(Action):
return status
+type MatrixParams = dict[str, list[Scalar | Ref]] | list[dict[str, Scalar | Ref]]
+
class Matrix(Action):
"""
Actions that represent running a single Workflow/Action across multiple configurations
- matrix: dict[str, list[Scalar | Ref]] | list[dict[str, Scalar | Ref]]
+ name: str = ""
+ matrix: MatrixParams
uses: Action
fail_fast: bool = True