Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: fix compiler
Browse files Browse the repository at this point in the history
Signed-off-by: FogDong <fog@bentoml.com>
FogDong committed Jul 13, 2024
1 parent 8506773 commit e9c0f4a
Showing 3 changed files with 9 additions and 8 deletions.
5 changes: 3 additions & 2 deletions pkg/tasks/builtin/step_group.go
Original file line number Diff line number Diff line change
@@ -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
}
9 changes: 4 additions & 5 deletions pkg/tasks/custom/task.go
Original file line number Diff line number Diff line change
@@ -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 {
3 changes: 2 additions & 1 deletion pkg/tasks/custom/task_test.go
Original file line number Diff line number Diff line change
@@ -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 {

0 comments on commit e9c0f4a

Please sign in to comment.