diff --git a/pkg/runner/expression.go b/pkg/runner/expression.go index 757587d..3daf09f 100644 --- a/pkg/runner/expression.go +++ b/pkg/runner/expression.go @@ -343,8 +343,9 @@ func (sc *StepContext) vmInputs() func(*otto.Otto) { } for k, v := range sc.Step.With { - inputs[k] = v + inputs[k] = sc.RunContext.NewExpressionEvaluator().Interpolate(v) } + return func(vm *otto.Otto) { _ = vm.Set("inputs", inputs) } diff --git a/pkg/runner/step_context.go b/pkg/runner/step_context.go index 8972ede..95bc10b 100644 --- a/pkg/runner/step_context.go +++ b/pkg/runner/step_context.go @@ -241,7 +241,7 @@ func (sc *StepContext) runUsesContainer() common.Executor { step := sc.Step return func(ctx context.Context) error { image := strings.TrimPrefix(step.Uses, "docker://") - cmd := strings.Fields(step.With["args"]) + cmd := strings.Fields(sc.RunContext.NewExpressionEvaluator().Interpolate(step.With["args"])) entrypoint := strings.Fields(step.With["entrypoint"]) stepContainer := sc.newStepContainer(ctx, image, cmd, entrypoint)