diff --git a/src/Runner.Worker/ActionRunner.cs b/src/Runner.Worker/ActionRunner.cs index 62fbbb812..133294d5c 100644 --- a/src/Runner.Worker/ActionRunner.cs +++ b/src/Runner.Worker/ActionRunner.cs @@ -181,7 +181,7 @@ namespace GitHub.Runner.Worker else { var templateEvaluator = ExecutionContext.ToPipelineTemplateEvaluator(); - inputs = templateEvaluator.EvaluateStepInputs(Action.Inputs, ExecutionContext.ExpressionValues, ExecutionContext.ExpressionFunctions); + inputs = templateEvaluator.EvaluateStepInputs(Action.Inputs, ExecutionContext.ExpressionValues, ExecutionContext.ExpressionFunctions, ExecutionContext.ToExpressionState()); } var userInputs = new HashSet(StringComparer.OrdinalIgnoreCase); @@ -355,7 +355,7 @@ namespace GitHub.Runner.Worker { DictionaryContextData expressionValues = ExecutionContext.GetExpressionValues(stepHost); var templateEvaluator = ExecutionContext.ToPipelineTemplateEvaluator(); - var inputs = templateEvaluator.EvaluateStepInputs(Action.Inputs, expressionValues, ExecutionContext.ExpressionFunctions); + var inputs = templateEvaluator.EvaluateStepInputs(Action.Inputs, expressionValues, ExecutionContext.ExpressionFunctions, ExecutionContext.ToExpressionState()); return inputs; } diff --git a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateEvaluator.cs b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateEvaluator.cs index 331b10246..7565dfed1 100644 --- a/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateEvaluator.cs +++ b/src/Sdk/DTPipelines/Pipelines/ObjectTemplating/PipelineTemplateEvaluator.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; @@ -164,13 +164,14 @@ namespace GitHub.DistributedTask.Pipelines.ObjectTemplating public Dictionary EvaluateStepInputs( TemplateToken token, DictionaryContextData contextData, - IList expressionFunctions) + IList expressionFunctions, + IEnumerable> expressionState = null) { var result = default(Dictionary); if (token != null && token.Type != TokenType.Null) { - var context = CreateContext(contextData, expressionFunctions); + var context = CreateContext(contextData, expressionFunctions, expressionState); try { token = TemplateEvaluator.Evaluate(context, PipelineTemplateConstants.StepWith, token, 0, null, omitHeader: true);