diff --git a/patches/last_processed_commit.txt b/patches/last_processed_commit.txt
index 586ed0f63bf..08a33c287b4 100644
--- a/patches/last_processed_commit.txt
+++ b/patches/last_processed_commit.txt
@@ -1 +1 @@
-ae2896c551a708bdc78bee403eb696e3a26ac95d
+0b3b8e0ba773d7e1cc554e3cd2b0ff5ed2e53277
diff --git a/patches/runner-main-sdk8-ppc64le.patch b/patches/runner-main-sdk8-ppc64le.patch
index 9cfa1b271b5..f8c1d610a00 100644
--- a/patches/runner-main-sdk8-ppc64le.patch
+++ b/patches/runner-main-sdk8-ppc64le.patch
@@ -284,4 +284,4 @@ index 056a312e..3f9a3679 100644
-# From upstream commit: ae2896c551a708bdc78bee403eb696e3a26ac95d
+# From upstream commit: 0b3b8e0ba773d7e1cc554e3cd2b0ff5ed2e53277
diff --git a/patches/runner-main-sdk8-s390x.patch b/patches/runner-main-sdk8-s390x.patch
index 9cfa1b271b5..f8c1d610a00 100644
--- a/patches/runner-main-sdk8-s390x.patch
+++ b/patches/runner-main-sdk8-s390x.patch
@@ -284,4 +284,4 @@ index 056a312e..3f9a3679 100644
-# From upstream commit: ae2896c551a708bdc78bee403eb696e3a26ac95d
+# From upstream commit: 0b3b8e0ba773d7e1cc554e3cd2b0ff5ed2e53277
diff --git a/src/Sdk/DTPipelines/workflow-v1.0.json b/src/Sdk/DTPipelines/workflow-v1.0.json
index 432cb75ecd3..c51b9f66e99 100644
--- a/src/Sdk/DTPipelines/workflow-v1.0.json
+++ b/src/Sdk/DTPipelines/workflow-v1.0.json
@@ -186,7 +186,16 @@
"vars",
"needs",
"strategy",
- "matrix"
+ "matrix",
+ "steps",
+ "job",
+ "runner",
+ "env",
+ "always(0,0)",
+ "failure(0,0)",
+ "cancelled(0,0)",
+ "success(0,0)",
+ "hashFiles(1,255)"
],
"string": {}
},
diff --git a/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs b/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs
index 9a7a4d0fce7..df80774d3a6 100644
--- a/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs
+++ b/src/Sdk/WorkflowParser/Conversion/WorkflowTemplateConverter.cs
@@ -2291,6 +2291,10 @@ private enum IfKind
new NamedValueInfo(WorkflowTemplateConstants.Needs),
new NamedValueInfo(WorkflowTemplateConstants.Strategy),
new NamedValueInfo(WorkflowTemplateConstants.Matrix),
+ new NamedValueInfo(WorkflowTemplateConstants.Steps),
+ new NamedValueInfo(WorkflowTemplateConstants.Job),
+ new NamedValueInfo(WorkflowTemplateConstants.Runner),
+ new NamedValueInfo(WorkflowTemplateConstants.Env),
};
private static readonly IFunctionInfo[] s_jobConditionFunctions = new IFunctionInfo[]
{
@@ -2307,6 +2311,13 @@ private enum IfKind
new FunctionInfo(WorkflowTemplateConstants.Success, 0, 0),
new FunctionInfo(WorkflowTemplateConstants.HashFiles, 1, Byte.MaxValue),
};
- private static readonly IFunctionInfo[] s_snapshotConditionFunctions = null;
+ private static readonly IFunctionInfo[] s_snapshotConditionFunctions = new IFunctionInfo[]
+ {
+ new FunctionInfo(WorkflowTemplateConstants.Always, 0, 0),
+ new FunctionInfo(WorkflowTemplateConstants.Cancelled, 0, 0),
+ new FunctionInfo(WorkflowTemplateConstants.Failure, 0, 0),
+ new FunctionInfo(WorkflowTemplateConstants.Success, 0, 0),
+ new FunctionInfo(WorkflowTemplateConstants.HashFiles, 1, Byte.MaxValue),
+ };
}
}
diff --git a/src/Sdk/WorkflowParser/workflow-v1.0.json b/src/Sdk/WorkflowParser/workflow-v1.0.json
index ff2d3185d28..bfef51ce7fa 100644
--- a/src/Sdk/WorkflowParser/workflow-v1.0.json
+++ b/src/Sdk/WorkflowParser/workflow-v1.0.json
@@ -2196,7 +2196,16 @@
"vars",
"needs",
"strategy",
- "matrix"
+ "matrix",
+ "steps",
+ "job",
+ "runner",
+ "env",
+ "always(0,0)",
+ "failure(0,0)",
+ "cancelled(0,0)",
+ "success(0,0)",
+ "hashFiles(1,255)"
],
"description": "Use the if conditional to prevent a snapshot from being taken unless a condition is met. Any supported context and expression can be used to create a conditional. Expressions in an `if` conditional do not require the bracketed expression syntax. When you use expressions in an `if` conditional, you may omit the expression syntax because GitHub automatically evaluates the `if` conditional as an expression.",
"string": {