diff --git a/pkg/apis/pipeline/v1alpha1/run_types.go b/pkg/apis/pipeline/v1alpha1/run_types.go index 0e203563d20..bba19a2a82f 100644 --- a/pkg/apis/pipeline/v1alpha1/run_types.go +++ b/pkg/apis/pipeline/v1alpha1/run_types.go @@ -39,7 +39,7 @@ var ( // EmbeddedRunSpec allows custom task definitions to be embedded type EmbeddedRunSpec struct { - runtime.TypeMeta `json:",inline,omitempty"` + runtime.TypeMeta `json:",inline"` // +optional Metadata v1beta1.PipelineTaskMetadata `json:"metadata,omitempty"` diff --git a/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go b/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go index b5a99ddd4f6..ea8c8e0a53b 100644 --- a/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go +++ b/pkg/reconciler/pipelinerun/resources/pipelinerunresolution.go @@ -19,9 +19,9 @@ package resources import ( "context" "fmt" + "github.com/tektoncd/pipeline/pkg/apis/config" "strconv" - "github.com/tektoncd/pipeline/pkg/apis/config" "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1" "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1" resourcev1alpha1 "github.com/tektoncd/pipeline/pkg/apis/resource/v1alpha1" @@ -339,6 +339,15 @@ func ValidateServiceaccountMapping(p *v1beta1.PipelineSpec, pr *v1beta1.Pipeline return nil } +func isCustomTask(rprt ResolvedPipelineRunTask, ctx context.Context) bool { + isTaskRefCustomTask := rprt.PipelineTask.TaskRef != nil && rprt.PipelineTask.TaskRef.APIVersion != "" && + rprt.PipelineTask.TaskRef.Kind != "" + isTaskSpecCustomTask := rprt.PipelineTask.TaskSpec != nil && rprt.PipelineTask.TaskSpec.APIVersion != "" && + rprt.PipelineTask.TaskSpec.Kind != "" + cfg := config.FromContextOrDefaults(ctx) + return cfg.FeatureFlags.EnableCustomTasks && (isTaskRefCustomTask || isTaskSpecCustomTask) +} + // ResolvePipelineRunTask retrieves a single Task's instance using the getTask to fetch // the spec. If it is unable to retrieve an instance of a referenced Task, it will return // an error, otherwise it returns a list of all of the Tasks retrieved. It will retrieve @@ -357,14 +366,7 @@ func ResolvePipelineRunTask( rprt := ResolvedPipelineRunTask{ PipelineTask: &task, } - - isTaskRefCustomTask := rprt.PipelineTask.TaskRef != nil && rprt.PipelineTask.TaskRef.APIVersion != "" && - rprt.PipelineTask.TaskRef.Kind != "" - isTaskSpecCustomTask := rprt.PipelineTask.TaskSpec != nil && rprt.PipelineTask.TaskSpec.APIVersion != "" && - rprt.PipelineTask.TaskSpec.Kind != "" - cfg := config.FromContextOrDefaults(ctx) - rprt.CustomTask = cfg.FeatureFlags.EnableCustomTasks && (isTaskRefCustomTask || isTaskSpecCustomTask) - + rprt.CustomTask = isCustomTask(rprt, ctx) if rprt.IsCustomTask() { rprt.RunName = getRunName(pipelineRun.Status.Runs, task.Name, pipelineRun.Name) run, err := getRun(rprt.RunName)