From e9c0f4a60ae7946d4728244ea4d69b9f84a85ade Mon Sep 17 00:00:00 2001 From: FogDong Date: Sat, 13 Jul 2024 16:38:58 +0800 Subject: [PATCH] fix: fix compiler Signed-off-by: FogDong --- pkg/tasks/builtin/step_group.go | 5 +++-- pkg/tasks/custom/task.go | 9 ++++----- pkg/tasks/custom/task_test.go | 3 ++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/pkg/tasks/builtin/step_group.go b/pkg/tasks/builtin/step_group.go index f81238f..6fbe8f4 100644 --- a/pkg/tasks/builtin/step_group.go +++ b/pkg/tasks/builtin/step_group.go @@ -27,6 +27,7 @@ import ( "github.com/kubevela/workflow/api/v1alpha1" wfContext "github.com/kubevela/workflow/pkg/context" "github.com/kubevela/workflow/pkg/cue/process" + "github.com/kubevela/workflow/pkg/providers" "github.com/kubevela/workflow/pkg/tasks/custom" "github.com/kubevela/workflow/pkg/types" ) @@ -61,7 +62,7 @@ func (tr *stepGroupTaskRunner) Name() string { func (tr *stepGroupTaskRunner) Pending(ctx monitorContext.Context, wfCtx wfContext.Context, stepStatus map[string]v1alpha1.StepStatus) (bool, v1alpha1.StepStatus) { resetter := tr.FillContextData(ctx, tr.pCtx) defer resetter(tr.pCtx) - basicVal, _ := custom.MakeBasicValue(ctx, nil, tr.pCtx) + basicVal, _ := custom.MakeBasicValue(ctx, providers.Compiler.Get(), nil, tr.pCtx) return custom.CheckPending(wfCtx, tr.step, tr.id, stepStatus, basicVal) } @@ -83,7 +84,7 @@ func (tr *stepGroupTaskRunner) Run(ctx wfContext.Context, options *types.TaskRun tracer := options.GetTracer(tr.id, tr.step).AddTag("step_name", tr.name, "step_type", types.WorkflowStepTypeStepGroup) resetter := tr.FillContextData(tracer, tr.pCtx) defer resetter(tr.pCtx) - basicVal, err := custom.MakeBasicValue(tracer, nil, tr.pCtx) + basicVal, err := custom.MakeBasicValue(tracer, providers.Compiler.Get(), nil, tr.pCtx) if err != nil { return status, nil, err } diff --git a/pkg/tasks/custom/task.go b/pkg/tasks/custom/task.go index bea666b..fc6cef1 100644 --- a/pkg/tasks/custom/task.go +++ b/pkg/tasks/custom/task.go @@ -38,7 +38,6 @@ import ( "github.com/kubevela/workflow/pkg/cue/model/value" "github.com/kubevela/workflow/pkg/cue/process" "github.com/kubevela/workflow/pkg/hooks" - "github.com/kubevela/workflow/pkg/providers" providertypes "github.com/kubevela/workflow/pkg/providers/types" "github.com/kubevela/workflow/pkg/types" ) @@ -124,7 +123,7 @@ func (t *TaskLoader) makeTaskGenerator(templ string) (types.TaskGenerator, error resetter := tRunner.fillContext(ctx, options.PCtx) defer resetter(options.PCtx) - basicVal, _ := MakeBasicValue(ctx, wfStep.Properties, options.PCtx) + basicVal, _ := MakeBasicValue(ctx, options.Compiler, wfStep.Properties, options.PCtx) return CheckPending(wfCtx, wfStep, exec.wfStatus.ID, stepStatus, basicVal) } @@ -169,7 +168,7 @@ func (t *TaskLoader) makeTaskGenerator(templ string) (types.TaskGenerator, error Action: exec, }) - basicVal, err := MakeBasicValue(tracer, wfStep.Properties, options.PCtx) + basicVal, err := MakeBasicValue(tracer, options.Compiler, wfStep.Properties, options.PCtx) if err != nil { tracer.Error(err, "make context parameter") return v1alpha1.StepStatus{}, nil, errors.WithMessage(err, "make context parameter") @@ -297,9 +296,9 @@ func buildValueForStatus(ctx wfContext.Context, step v1alpha1.WorkflowStep, step } // MakeBasicValue makes basic value -func MakeBasicValue(ctx monitorContext.Context, properties *runtime.RawExtension, pCtx process.Context) (cue.Value, error) { +func MakeBasicValue(ctx monitorContext.Context, compiler *cuex.Compiler, properties *runtime.RawExtension, pCtx process.Context) (cue.Value, error) { // use default compiler to compile the basic value without providers - v, err := providers.Compiler.Get().CompileStringWithOptions(ctx, getContextTemplate(pCtx), cuex.WithExtraData( + v, err := compiler.CompileStringWithOptions(ctx, getContextTemplate(pCtx), cuex.WithExtraData( model.ParameterFieldName, properties, ), cuex.DisableResolveProviderFunctions{}) if err != nil { diff --git a/pkg/tasks/custom/task_test.go b/pkg/tasks/custom/task_test.go index b81f43c..01bdc98 100644 --- a/pkg/tasks/custom/task_test.go +++ b/pkg/tasks/custom/task_test.go @@ -41,6 +41,7 @@ import ( "github.com/kubevela/workflow/api/v1alpha1" wfContext "github.com/kubevela/workflow/pkg/context" "github.com/kubevela/workflow/pkg/cue/process" + "github.com/kubevela/workflow/pkg/providers" providertypes "github.com/kubevela/workflow/pkg/providers/types" "github.com/kubevela/workflow/pkg/types" ) @@ -460,7 +461,7 @@ func TestValidateIfValue(t *testing.T) { r := require.New(t) logCtx := monitorContext.NewTraceContext(context.Background(), "test-app") - basicVal, err := MakeBasicValue(logCtx, &runtime.RawExtension{Raw: []byte(`{"key": "value"}`)}, pCtx) + basicVal, err := MakeBasicValue(logCtx, providers.Compiler.Get(), &runtime.RawExtension{Raw: []byte(`{"key": "value"}`)}, pCtx) r.NoError(err) testCases := []struct {