Repository: kubeflow/kfp-tekton (language: python)

Issue:
update tekton to 0.43 to include new tep 101 enhancement 
/kind feature

**Description:**
[A clear and concise description of what your proposal. What problem does it solve?]


**Additional information:**
[Miscellaneous information that will assist in solving the issue.]



Discussion / hints:
Updating to tekton 0.43 for custom tasks as well as backend with v1beta1 CustomRun support can be one part.
And updating sdk to support tep 101, can be part 2.


Fix patch:
diff --git a/backend/src/agent/persistence/client/workflow_client.go b/backend/src/agent/persistence/client/workflow_client.go
index dba6992d8a..dc6d440769 100644
--- a/backend/src/agent/persistence/client/workflow_client.go
+++ b/backend/src/agent/persistence/client/workflow_client.go
@@ -122,13 +122,15 @@ func (c *WorkflowClient) Get(namespace string, name string) (
 
 func (c *WorkflowClient) getStatusFromChildReferences(namespace, selector string, status *wfapi.PipelineRunStatus) error {
 	if status.ChildReferences != nil {
-		hasTaskRun, hasRun := false, false
+		hasTaskRun, hasRun, hasCustomRun := false, false, false
 		for _, child := range status.ChildReferences {
 			switch child.Kind {
 			case "TaskRun":
 				hasTaskRun = true
 			case "Run":
 				hasRun = true
+			case "CustomRun":
+				hasCustomRun = true
 			default:
 			}
 		}
@@ -171,6 +173,25 @@ func (c *WorkflowClient) getStatusFromChildReferences(namespace, selector string
 			}
 			status.Runs = runStatuses
 		}
+		if hasCustomRun {
+			customRuns, err := c.clientset.TektonV1beta1().CustomRuns(namespace).List(context.Background(), v1.ListOptions{
+				LabelSelector: selector,
+			})
+			if err != nil {
+				return util.NewInternalServerError(err, "can't fetch runs")
+			}
+			customRunStatuses := make(map[string]*wfapi.PipelineRunRunStatus, len(customRuns.Items))
+			for _, customRun := range customRuns.Items {
+				customRunStatus := customRun.Status.DeepCopy()
+				customRunStatuses[customRun.Name] = &wfapi.PipelineRunRunStatus{
+					PipelineTaskName: customRun.Labels["tekton.dev/pipelineTask"],
+					Status:           customRunStatus,
+				}
+				// handle nested status
+				c.handleNestedStatusV1beta1(&customRun, customRunStatus, namespace)
+			}
+			status.Runs = customRunStatuses
+		}
 	}
 	return nil
 }
@@ -191,6 +212,22 @@ func (c *WorkflowClient) handleNestedStatus(run *v1alpha1.Run, runStatus *v1alph
 	}
 }
 
+// handle nested status case for specific types of Run
+func (c *WorkflowClient) handleNestedStatusV1beta1(customRun *wfapi.CustomRun, customRunStatus *customRun.CustomRunStatus, namespace string) {
+	if sort.SearchStrings(childReferencesKinds, customRun.Spec.CustomSpec.Kind) < len(childReferencesKinds) {
+		// need to lookup the nested status
+		obj := make(map[string]interface{})
+		if err := json.Unmarshal(customRunStatus.ExtraFields.Raw, &obj); err != nil {
+			return
+		}
+		if c.updateExtraFields(obj, namespace) {
+			if newStatus, err := json.Marshal(obj); err == nil {
+				customRunStatus.ExtraFields.Raw = newStatus
+			}
+		}
+	}
+}
+
 // check ExtraFields and update nested status if needed
 func (c *WorkflowClient) updateExtraFields(obj map[string]interface{}, namespace string) bool {
 	updated := false
@@ -266,6 +303,24 @@ func (c *WorkflowClient) updateExtraFields(obj map[string]interface{}, namespace
 								updated = true
 							}
 						}
+					} else if kind == "CustomRun" {
+						if customRunsCR, err := c.clientset.TektonV1beta1().CustomRuns(namespace).Get(context.Background(), name, v1.GetOptions{}); err == nil {
+							customRuns, ok := statusobj["customRuns"]
+							if !ok {
+								customRuns = make(map[string]*wfapi.PipelineRunRunStatus)
+							}
+							if customRunStatus, ok := customRuns.(map[string]*wfapi.PipelineRunRunStatus); ok {
+								customRunStatusStatus := customRunsCR.Status.DeepCopy()
+								customRunStatus[name] = &wfapi.PipelineRunRunStatus{
+									PipelineTaskName: customRunsCR.Labels["tekton.dev/pipelineTask"],
+									Status:           customRunStatusStatus,
+								}
+								statusobj["customRuns"] = customRunStatus
+								// handle nested status recursively
+								c.handleNestedStatusV1beta1(customRunsCR, customRunStatusStatus, namespace)
+								updated = true
+							}
+						}
 					}
 				}
 			}
diff --git a/tekton-catalog/pipeline-loops/go.mod b/tekton-catalog/pipeline-loops/go.mod
index 1d539ce0e6..bcab6b3fac 100644
--- a/tekton-catalog/pipeline-loops/go.mod
+++ b/tekton-catalog/pipeline-loops/go.mod
@@ -8,13 +8,13 @@ require (
 	github.com/hashicorp/go-multierror v1.1.1
 	github.com/kubeflow/kfp-tekton/tekton-catalog/cache v0.0.0
 	github.com/kubeflow/kfp-tekton/tekton-catalog/objectstore v0.0.0
-	github.com/tektoncd/pipeline v0.41.0
-	go.uber.org/zap v1.23.0
+	github.com/tektoncd/pipeline v0.43.2
+	go.uber.org/zap v1.24.0
 	gomodules.xyz/jsonpatch/v2 v2.2.0
-	k8s.io/api v0.25.3
-	k8s.io/apimachinery v0.25.3
-	k8s.io/client-go v0.25.3
-	k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed
+	k8s.io/api v0.25.4
+	k8s.io/apimachinery v0.25.4
+	k8s.io/client-go v0.25.4
+	k8s.io/utils v0.0.0-20221012122500-cfd413dd9e85
 	knative.dev/pkg v0.0.0-20221011175852-714b7630a836
 )
 
diff --git a/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop/v1alpha1/pipelineloop_types.go b/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop/v1alpha1/pipelineloop_types.go
index 7fdef73fc8..11c5f08681 100644
--- a/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop/v1alpha1/pipelineloop_types.go
+++ b/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop/v1alpha1/pipelineloop_types.go
@@ -18,6 +18,7 @@ package v1alpha1
 
 import (
 	"github.com/tektoncd/pipeline/pkg/apis/pipeline/pod"
+	tektonv1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
 	v1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 )
@@ -43,11 +44,11 @@ type PipelineLoopSpec struct {
 	// TaskRef is a reference to a task definition.
 	// +optional
 	// TaskRef     *v1beta1.TaskRef     `json:"taskRef,omitempty"`
-	PipelineRef *v1beta1.PipelineRef `json:"pipelineRef,omitempty"`
+	PipelineRef *tektonv1beta1.PipelineRef `json:"pipelineRef,omitempty"`
 
 	// TaskSpec is a specification of a task
 	// +optional
-	PipelineSpec *v1beta1.PipelineSpec `json:"pipelineSpec,omitempty"`
+	PipelineSpec *tektonv1beta1.PipelineSpec `json:"pipelineSpec,omitempty"`
 
 	// IterateParam is the name of the task parameter that is iterated upon.
 	IterateParam string `json:"iterateParam"`
diff --git a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/controller.go b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/controller.go
index ef934d12bf..11895b6dc2 100644
--- a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/controller.go
+++ b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/controller.go
@@ -30,14 +30,14 @@ import (
 	"github.com/kubeflow/kfp-tekton/tekton-catalog/cache/pkg/db"
 	cl "github.com/kubeflow/kfp-tekton/tekton-catalog/objectstore/pkg/writer"
 	"github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop"
-	pipelineloopv1alpha1 "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop/v1alpha1"
-	pipelineloopclient "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/client/injection/client"
-	pipelineloopinformer "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/client/injection/informers/pipelineloop/v1alpha1/pipelineloop"
-	pipelineclient "github.com/tektoncd/pipeline/pkg/client/injection/client"
-	runinformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1alpha1/run"
-	pipelineruninformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/pipelinerun"
-	runreconciler "github.com/tektoncd/pipeline/pkg/client/injection/reconciler/pipeline/v1alpha1/run"
-	pipelinecontroller "github.com/tektoncd/pipeline/pkg/controller"
+	pipelineLoopV1alpha1 "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop/v1alpha1"
+	pipelineLoopClient "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/client/injection/client"
+	pipelineLoopInformer "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/client/injection/informers/pipelineloop/v1alpha1/pipelineloop"
+	pipelineClient "github.com/tektoncd/pipeline/pkg/client/injection/client"
+	customRunInformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/customrun"
+	pipelineRunInformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/pipelinerun"
+	customRunReconciler "github.com/tektoncd/pipeline/pkg/client/injection/reconciler/pipeline/v1beta1/customrun"
+	pipelineController "github.com/tektoncd/pipeline/pkg/controller"
 	"go.uber.org/zap"
 	"go.uber.org/zap/zapcore"
 	metaV1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -45,7 +45,7 @@ import (
 	"k8s.io/client-go/kubernetes"
 	"k8s.io/client-go/tools/cache"
 	"k8s.io/utils/clock"
-	kubeclient "knative.dev/pkg/client/injection/kube/client"
+	kubeClient "knative.dev/pkg/client/injection/kube/client"
 	"knative.dev/pkg/configmap"
 	"knative.dev/pkg/controller"
 	"knative.dev/pkg/logging"
@@ -181,47 +181,47 @@ func initLogger(ctx context.Context, kubeClientSet kubernetes.Interface) *zap.Su
 // NewController instantiates a new controller.Impl from knative.dev/pkg/controller
 func NewController(namespace string) func(context.Context, configmap.Watcher) *controller.Impl {
 	return func(ctx context.Context, cmw configmap.Watcher) *controller.Impl {
-		kubeclientset := kubeclient.Get(ctx)
-		pipelineclientset := pipelineclient.Get(ctx)
-		pipelineloopclientset := pipelineloopclient.Get(ctx)
-		runInformer := runinformer.Get(ctx)
-		pipelineLoopInformer := pipelineloopinformer.Get(ctx)
-		pipelineRunInformer := pipelineruninformer.Get(ctx)
-		logger := initLogger(ctx, kubeclientset)
+		kubeClientSet := kubeClient.Get(ctx)
+		pipelineClientSet := pipelineClient.Get(ctx)
+		pipelineLoopClientSet := pipelineLoopClient.Get(ctx)
+		customRunInformer := customRunInformer.Get(ctx)
+		pipelineLoopInformer := pipelineLoopInformer.Get(ctx)
+		pipelineRunInformer := pipelineRunInformer.Get(ctx)
+		logger := initLogger(ctx, kubeClientSet)
 		ctx = logging.WithLogger(ctx, logger)
-		cacheStore := initCache(ctx, kubeclientset, params)
+		cacheStore := initCache(ctx, kubeClientSet, params)
 		c := &Reconciler{
-			KubeClientSet:         kubeclientset,
-			pipelineClientSet:     pipelineclientset,
-			pipelineloopClientSet: pipelineloopclientset,
-			runLister:             runInformer.Lister(),
+			KubeClientSet:         kubeClientSet,
+			pipelineClientSet:     pipelineClientSet,
+			pipelineloopClientSet: pipelineLoopClientSet,
+			runLister:             customRunInformer.Lister(),
 			pipelineLoopLister:    pipelineLoopInformer.Lister(),
 			pipelineRunLister:     pipelineRunInformer.Lister(),
 			cacheStore:            cacheStore,
 			clock:                 clock.RealClock{},
 		}
 
-		impl := runreconciler.NewImpl(ctx, c, func(impl *controller.Impl) controller.Options {
+		impl := customRunReconciler.NewImpl(ctx, c, func(impl *controller.Impl) controller.Options {
 			return controller.Options{
-				AgentName: "run-pipelineloop",
+				AgentName: "customrun-pipelineloop",
 			}
 		})
 
 		logger.Info("Setting up event handlers")
 
 		// Add event handler for Runs of Pipelineloop
-		runInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{
-			FilterFunc: pipelinecontroller.FilterRunRef(pipelineloopv1alpha1.SchemeGroupVersion.String(), pipelineloop.PipelineLoopControllerName),
+		customRunInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{
+			FilterFunc: pipelineController.FilterCustomRunRef(pipelineLoopV1alpha1.SchemeGroupVersion.String(), pipelineloop.PipelineLoopControllerName),
 			Handler:    controller.HandleAll(impl.Enqueue),
 		})
 		// Add event handler for Runs of BreakTask
-		runInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{
-			FilterFunc: pipelinecontroller.FilterRunRef(pipelineloopv1alpha1.SchemeGroupVersion.String(), pipelineloop.BreakTaskName),
+		customRunInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{
+			FilterFunc: pipelineController.FilterCustomRunRef(pipelineLoopV1alpha1.SchemeGroupVersion.String(), pipelineloop.BreakTaskName),
 			Handler:    controller.HandleAll(impl.Enqueue),
 		})
 		// Add event handler for PipelineRuns controlled by Run
 		pipelineRunInformer.Informer().AddEventHandler(cache.FilteringResourceEventHandler{
-			FilterFunc: pipelinecontroller.FilterOwnerRunRef(runInformer.Lister(), pipelineloopv1alpha1.SchemeGroupVersion.String(), pipelineloop.PipelineLoopControllerName),
+			FilterFunc: pipelineController.FilterOwnerCustomRunRef(customRunInformer.Lister(), pipelineLoopV1alpha1.SchemeGroupVersion.String(), pipelineloop.PipelineLoopControllerName),
 			Handler:    controller.HandleAll(impl.EnqueueControllerOf),
 		})
 
diff --git a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun.go b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun.go
index 0acf631dc9..3e2ce8f46b 100644
--- a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun.go
+++ b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun.go
@@ -42,12 +42,10 @@ import (
 	listerspipelineloop "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/client/listers/pipelineloop/v1alpha1"
 	"github.com/tektoncd/pipeline/pkg/apis/config"
 	"github.com/tektoncd/pipeline/pkg/apis/pipeline"
-	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1"
 	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
-	runv1alpha1 "github.com/tektoncd/pipeline/pkg/apis/run/v1alpha1"
+	tektonv1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
 	clientset "github.com/tektoncd/pipeline/pkg/client/clientset/versioned"
-	runreconciler "github.com/tektoncd/pipeline/pkg/client/injection/reconciler/pipeline/v1alpha1/run"
-	listersalpha "github.com/tektoncd/pipeline/pkg/client/listers/pipeline/v1alpha1"
+	runreconciler "github.com/tektoncd/pipeline/pkg/client/injection/reconciler/pipeline/v1beta1/customrun"
 	listers "github.com/tektoncd/pipeline/pkg/client/listers/pipeline/v1beta1"
 	"github.com/tektoncd/pipeline/pkg/names"
 	"github.com/tektoncd/pipeline/pkg/reconciler/events"
@@ -100,14 +98,14 @@ type Reconciler struct {
 	KubeClientSet         kubernetes.Interface
 	pipelineClientSet     clientset.Interface
 	pipelineloopClientSet pipelineloopclientset.Interface
-	runLister             listersalpha.RunLister
+	runLister             listers.CustomRunLister
 	pipelineLoopLister    listerspipelineloop.PipelineLoopLister
 	pipelineRunLister     listers.PipelineRunLister
 	cacheStore            *cache.TaskCacheStore
 	clock                 clock.RealClock
 }
 type CacheKey struct {
-	Params           []v1beta1.Param                        `json:"params"`
+	Params           []tektonv1beta1.Param                  `json:"params"`
 	PipelineLoopSpec *pipelineloopv1alpha1.PipelineLoopSpec `json:"pipelineSpec"`
 }
 
@@ -123,7 +121,7 @@ func init() {
 	patches := []jsonpatch.JsonPatchOperation{{
 		Operation: "add",
 		Path:      "/spec/status",
-		Value:     v1beta1.PipelineRunSpecStatusCancelled,
+		Value:     tektonv1beta1.PipelineRunSpecStatusCancelled,
 	}}
 	cancelPatchBytes, err = json.Marshal(patches)
 	if err != nil {
@@ -138,122 +136,122 @@ func init() {
 	}
 }
 
-func isCachingEnabled(run *v1alpha1.Run) bool {
+func isCachingEnabled(run *tektonv1beta1.CustomRun) bool {
 	return run.ObjectMeta.Labels["pipelines.kubeflow.org/cache_enabled"] == "true"
 }
 
 // ReconcileKind compares the actual state with the desired, and attempts to converge the two.
 // It then updates the Status block of the Run resource with the current status of the resource.
-func (c *Reconciler) ReconcileKind(ctx context.Context, run *v1alpha1.Run) pkgreconciler.Event {
+func (c *Reconciler) ReconcileKind(ctx context.Context, customRun *tektonv1beta1.CustomRun) pkgreconciler.Event {
 	var merr error
 	logger := logging.FromContext(ctx)
-	logger.Infof("Reconciling Run %s/%s at %v", run.Namespace, run.Name, time.Now())
-	if run.Spec.Ref != nil && run.Spec.Spec != nil {
-		logger.Errorf("Run %s/%s can provide one of Run.Spec.Ref/Run.Spec.Spec", run.Namespace, run.Name)
+	logger.Infof("Reconciling Run %s/%s at %v", customRun.Namespace, customRun.Name, time.Now())
+	if customRun.Spec.CustomRef != nil && customRun.Spec.CustomSpec != nil {
+		logger.Errorf("Run %s/%s can provide one of Run.Spec.Ref/Run.Spec.Spec", customRun.Namespace, customRun.Name)
 		return nil
 	}
-	if run.Spec.Spec == nil && run.Spec.Ref == nil {
-		logger.Errorf("Run %s/%s does not provide a spec or ref.", run.Namespace, run.Name)
+	if customRun.Spec.CustomSpec == nil && customRun.Spec.CustomRef == nil {
+		logger.Errorf("Run %s/%s does not provide a spec or ref.", customRun.Namespace, customRun.Name)
 		return nil
 	}
-	if (run.Spec.Ref != nil && run.Spec.Ref.Kind == pipelineloop.BreakTaskName) ||
-		(run.Spec.Spec != nil && run.Spec.Spec.Kind == pipelineloop.BreakTaskName) {
-		if !run.IsDone() {
-			run.Status.InitializeConditions()
-			run.Status.MarkRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
+	if (customRun.Spec.CustomRef != nil && customRun.Spec.CustomRef.Kind == pipelineloop.BreakTaskName) ||
+		(customRun.Spec.CustomSpec != nil && customRun.Spec.CustomSpec.Kind == pipelineloop.BreakTaskName) {
+		if !customRun.IsDone() {
+			customRun.Status.InitializeConditions()
+			customRun.Status.MarkCustomRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
 				"Break task is a dummy task.")
 		}
-		logger.Infof("Break task encountered %s", run.Name)
+		logger.Infof("Break task encountered %s", customRun.Name)
 		return nil
 	}
 	// Check that the Run references a PipelineLoop CRD.  The logic is controller.go should ensure that only this type of Run
 	// is reconciled this controller but it never hurts to do some bullet-proofing.
-	if run.Spec.Ref != nil &&
-		(run.Spec.Ref.APIVersion != pipelineloopv1alpha1.SchemeGroupVersion.String() ||
-			run.Spec.Ref.Kind != pipelineloop.PipelineLoopControllerName) {
-		logger.Errorf("Received control for a Run %s/%s/%v that does not reference a PipelineLoop custom CRD ref", run.Namespace, run.Name, run.Spec.Ref)
+	if customRun.Spec.CustomRef != nil &&
+		(customRun.Spec.CustomRef.APIVersion != pipelineloopv1alpha1.SchemeGroupVersion.String() ||
+			customRun.Spec.CustomRef.Kind != pipelineloop.PipelineLoopControllerName) {
+		logger.Errorf("Received control for a Run %s/%s/%v that does not reference a PipelineLoop custom CRD ref", customRun.Namespace, customRun.Name, customRun.Spec.CustomRef)
 		return nil
 	}
 
-	if run.Spec.Spec != nil &&
-		(run.Spec.Spec.APIVersion != pipelineloopv1alpha1.SchemeGroupVersion.String() ||
-			run.Spec.Spec.Kind != pipelineloop.PipelineLoopControllerName) {
-		logger.Errorf("Received control for a Run %s/%s that does not reference a PipelineLoop custom CRD spec", run.Namespace, run.Name)
+	if customRun.Spec.CustomSpec != nil &&
+		(customRun.Spec.CustomSpec.APIVersion != pipelineloopv1alpha1.SchemeGroupVersion.String() ||
+			customRun.Spec.CustomSpec.Kind != pipelineloop.PipelineLoopControllerName) {
+		logger.Errorf("Received control for a Run %s/%s that does not reference a PipelineLoop custom CRD spec", customRun.Namespace, customRun.Name)
 		return nil
 	}
-	logger.Infof("Received control for a Run %s/%s %-v", run.Namespace, run.Name, run.Spec.Spec)
+	logger.Infof("Received control for a Run %s/%s %-v", customRun.Namespace, customRun.Name, customRun.Spec.CustomSpec)
 	// If the Run has not started, initialize the Condition and set the start time.
-	if !run.HasStarted() {
-		logger.Infof("Starting new Run %s/%s", run.Namespace, run.Name)
-		run.Status.InitializeConditions()
+	if !customRun.HasStarted() {
+		logger.Infof("Starting new Run %s/%s", customRun.Namespace, customRun.Name)
+		customRun.Status.InitializeConditions()
 		// In case node time was not synchronized, when controller has been scheduled to other nodes.
-		if run.Status.StartTime.Sub(run.CreationTimestamp.Time) < 0 {
-			logger.Warnf("Run %s createTimestamp %s is after the Run started %s", run.Name, run.CreationTimestamp, run.Status.StartTime)
-			run.Status.StartTime = &run.CreationTimestamp
+		if customRun.Status.StartTime.Sub(customRun.CreationTimestamp.Time) < 0 {
+			logger.Warnf("Run %s createTimestamp %s is after the Run started %s", customRun.Name, customRun.CreationTimestamp, customRun.Status.StartTime)
+			customRun.Status.StartTime = &customRun.CreationTimestamp
 		}
 		// Emit events. During the first reconcile the status of the Run may change twice
 		// from not Started to Started and then to Running, so we need to sent the event here
 		// and at the end of 'Reconcile' again.
 		// We also want to send the "Started" event as soon as possible for anyone who may be waiting
 		// on the event to perform user facing initialisations, such has reset a CI check status
-		afterCondition := run.Status.GetCondition(apis.ConditionSucceeded)
-		events.Emit(ctx, nil, afterCondition, run)
+		afterCondition := customRun.Status.GetCondition(apis.ConditionSucceeded)
+		events.Emit(ctx, nil, afterCondition, customRun)
 	}
 
 	// Store the condition before reconcile
-	beforeCondition := run.Status.GetCondition(apis.ConditionSucceeded)
+	beforeCondition := customRun.Status.GetCondition(apis.ConditionSucceeded)
 
 	status := &pipelineloopv1alpha1.PipelineLoopRunStatus{}
-	if err := run.Status.DecodeExtraFields(status); err != nil {
-		run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonInternalError.String(),
+	if err := customRun.Status.DecodeExtraFields(status); err != nil {
+		customRun.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonInternalError.String(),
 			"Internal error calling DecodeExtraFields: %v", err)
 		logger.Errorf("DecodeExtraFields error: %v", err.Error())
 	}
 
-	if run.IsDone() {
-		if run.IsSuccessful() && !c.cacheStore.Disabled && isCachingEnabled(run) {
+	if customRun.IsDone() {
+		if customRun.IsSuccessful() && !c.cacheStore.Disabled && isCachingEnabled(customRun) {
 			marshal, err := json.Marshal(CacheKey{
 				PipelineLoopSpec: status.PipelineLoopSpec,
-				Params:           run.Spec.Params,
+				Params:           customRun.Spec.Params,
 			})
 			if err == nil {
 				hashSum := fmt.Sprintf("%x", md5.Sum(marshal))
-				resultBytes, err1 := json.Marshal(run.Status.Results)
+				resultBytes, err1 := json.Marshal(customRun.Status.Results)
 				if err1 != nil {
-					return fmt.Errorf("error while marshalling result to cache for run: %s, %w", run.Name, err)
+					return fmt.Errorf("error while marshalling result to cache for run: %s, %w", customRun.Name, err)
 				}
 				err = c.cacheStore.Put(&model.TaskCache{
 					TaskHashKey: hashSum,
 					TaskOutput:  string(resultBytes),
 				})
 				if err != nil {
-					return fmt.Errorf("error while adding result to cache for run: %s, %w", run.Name, err)
+					return fmt.Errorf("error while adding result to cache for run: %s, %w", customRun.Name, err)
 				}
-				logger.Infof("cached the results of successful run %s, with key: %s", run.Name, hashSum)
+				logger.Infof("cached the results of successful run %s, with key: %s", customRun.Name, hashSum)
 			}
 		}
-		logger.Infof("Run %s/%s is done", run.Namespace, run.Name)
+		logger.Infof("Run %s/%s is done", customRun.Namespace, customRun.Name)
 		return nil
 	}
 	// Reconcile the Run
-	if err := c.reconcile(ctx, run, status); err != nil {
+	if err := c.reconcile(ctx, customRun, status); err != nil {
 		logger.Errorf("Reconcile error: %v", err.Error())
 		merr = multierror.Append(merr, err)
 	}
 
-	if err := c.updateLabelsAndAnnotations(ctx, run); err != nil {
+	if err := c.updateLabelsAndAnnotations(ctx, customRun); err != nil {
 		logger.Warn("Failed to update Run labels/annotations", zap.Error(err))
 		merr = multierror.Append(merr, err)
 	}
 
-	if err := run.Status.EncodeExtraFields(status); err != nil {
-		run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonInternalError.String(),
+	if err := customRun.Status.EncodeExtraFields(status); err != nil {
+		customRun.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonInternalError.String(),
 			"Internal error calling EncodeExtraFields: %v", err)
 		logger.Errorf("EncodeExtraFields error: %v", err.Error())
 	}
 
-	afterCondition := run.Status.GetCondition(apis.ConditionSucceeded)
-	events.Emit(ctx, beforeCondition, afterCondition, run)
+	afterCondition := customRun.Status.GetCondition(apis.ConditionSucceeded)
+	events.Emit(ctx, beforeCondition, afterCondition, customRun)
 	return merr
 }
 
@@ -261,6 +259,7 @@ func EnableCustomTaskFeatureFlag(ctx context.Context) context.Context {
 	defaults, _ := config.NewDefaultsFromMap(map[string]string{})
 	featureFlags, _ := config.NewFeatureFlagsFromMap(map[string]string{
 		"enable-custom-tasks": "true",
+		"custom-task-version": "v1alpha1",
 	})
 	artifactBucket, _ := config.NewArtifactBucketFromMap(map[string]string{})
 	artifactPVC, _ := config.NewArtifactPVCFromMap(map[string]string{})
@@ -301,7 +300,7 @@ func getMaxNestedStackDepth(pipelineLoopMeta *metav1.ObjectMeta) (int, error) {
 	return DefaultNestedStackDepth, nil
 }
 
-func (c *Reconciler) setMaxNestedStackDepth(ctx context.Context, pipelineLoopSpec *pipelineloopv1alpha1.PipelineLoopSpec, run *v1alpha1.Run, depth int) {
+func (c *Reconciler) setMaxNestedStackDepth(ctx context.Context, pipelineLoopSpec *pipelineloopv1alpha1.PipelineLoopSpec, run *tektonv1beta1.CustomRun, depth int) {
 	logger := logging.FromContext(ctx)
 
 	if pipelineLoopSpec.PipelineSpec == nil {
@@ -338,7 +337,7 @@ func (c *Reconciler) setMaxNestedStackDepth(ctx context.Context, pipelineLoopSpe
 	}
 }
 
-func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *pipelineloopv1alpha1.PipelineLoopRunStatus) error {
+func (c *Reconciler) reconcile(ctx context.Context, run *tektonv1beta1.CustomRun, status *pipelineloopv1alpha1.PipelineLoopRunStatus) error {
 	ctx = EnableCustomTaskFeatureFlag(ctx)
 	logger := logging.FromContext(ctx)
 	var hashSum string
@@ -356,7 +355,7 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 	pipelineLoopSpec.SetDefaults(ctx)
 	// Validate PipelineLoop spec
 	if err := pipelineLoopSpec.Validate(ctx); err != nil {
-		run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
+		run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
 			"PipelineLoop %s/%s can't be Run; it has an invalid spec: %s",
 			pipelineLoopMeta.Namespace, pipelineLoopMeta.Name, err)
 		return nil
@@ -365,12 +364,12 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 	// Determine how many iterations of the Task will be done.
 	totalIterations, iterationElements, err := computeIterations(run, pipelineLoopSpec)
 	if err != nil {
-		run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
+		run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
 			"Cannot determine number of iterations: %s", err)
 		return nil
 	}
 	if totalIterations > iterationLimit {
-		run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
+		run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
 			"Total number of iterations exceeds the limit: %d", iterationLimit)
 		return nil
 	}
@@ -394,7 +393,7 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 				if err != nil {
 					logger.Errorf("error while unmarshal of task output. %v", err)
 				}
-				run.Status.MarkRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonCacheHit.String(),
+				run.Status.MarkCustomRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonCacheHit.String(),
 					"A cached result of the previous run was found.")
 				return nil
 			}
@@ -410,21 +409,21 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 	// Run is cancelled, just cancel all the running instance and return
 	if run.IsCancelled() {
 		if len(failedPrs) > 0 {
-			run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailed.String(),
+			run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailed.String(),
 				"Run %s/%s was failed",
 				run.Namespace, run.Name)
 		} else {
 			reason := pipelineloopv1alpha1.PipelineLoopRunReasonCancelled.String()
 			if run.HasTimedOut(c.clock) { // This check is only possible if we are on tekton 0.27.0 +
-				reason = v1alpha1.RunReasonTimedOut
+				reason = string(tektonv1beta1.CustomRunReasonTimedOut)
 			}
-			run.Status.MarkRunFailed(reason, "Run %s/%s was cancelled", run.Namespace, run.Name)
+			run.Status.MarkCustomRunFailed(reason, "Run %s/%s was cancelled", run.Namespace, run.Name)
 		}
 
 		for _, currentRunningPr := range currentRunningPrs {
 			logger.Infof("Run %s/%s is cancelled.  Cancelling PipelineRun %s.", run.Namespace, run.Name, currentRunningPr.Name)
 			if _, err := c.pipelineClientSet.TektonV1beta1().PipelineRuns(run.Namespace).Patch(ctx, currentRunningPr.Name, types.JSONPatchType, cancelPatchBytes, metav1.PatchOptions{}); err != nil {
-				run.Status.MarkRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntCancel.String(),
+				run.Status.MarkCustomRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntCancel.String(),
 					"Failed to patch PipelineRun `%s` with cancellation: %v", currentRunningPr.Name, err)
 				return nil
 			}
@@ -441,13 +440,13 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 	retries := run.Spec.Retries
 	if retriesDone < retries && failedPrs != nil && len(failedPrs) > 0 {
 		logger.Infof("RetriesDone: %d, Total Retries: %d", retriesDone, retries)
-		run.Status.RetriesStatus = append(run.Status.RetriesStatus, v1alpha1.RunStatus{
+		run.Status.RetriesStatus = append(run.Status.RetriesStatus, tektonv1beta1.CustomRunStatus{
 			Status: duckv1.Status{
 				ObservedGeneration: 0,
 				Conditions:         run.Status.Conditions.DeepCopy(),
 				Annotations:        nil,
 			},
-			RunStatusFields: runv1alpha1.RunStatusFields{
+			CustomRunStatusFields: tektonv1beta1.CustomRunStatusFields{
 				StartTime:      run.Status.StartTime.DeepCopy(),
 				CompletionTime: run.Status.CompletionTime.DeepCopy(),
 				Results:        run.Status.Results,
@@ -456,7 +455,7 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 			},
 		})
 		// Without immediately updating here, wrong number of retries are performed.
-		_, err := c.pipelineClientSet.TektonV1alpha1().Runs(run.Namespace).UpdateStatus(ctx, run, metav1.UpdateOptions{})
+		_, err := c.pipelineClientSet.TektonV1beta1().CustomRuns(run.Namespace).UpdateStatus(ctx, run, metav1.UpdateOptions{})
 		if err != nil {
 			return err
 		}
@@ -493,10 +492,10 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 	if len(failedPrs) > 0 {
 		for _, failedPr := range failedPrs {
 			if status.CurrentRunning == 0 {
-				run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailed.String(),
+				run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailed.String(),
 					"PipelineRun %s has failed", failedPr.Name)
 			} else {
-				run.Status.MarkRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonRunning.String(),
+				run.Status.MarkCustomRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonRunning.String(),
 					"PipelineRun %s has failed", failedPr.Name)
 			}
 		}
@@ -504,7 +503,7 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 	}
 
 	// Mark run status Running
-	run.Status.MarkRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonRunning.String(),
+	run.Status.MarkCustomRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonRunning.String(),
 		"Iterations completed: %d", highestIteration-len(currentRunningPrs))
 
 	// Move on to the next iteration (or the first iteration if there was no PipelineRun).
@@ -517,14 +516,14 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 			return nil
 		}
 		// All task finished
-		run.Status.MarkRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
+		run.Status.MarkCustomRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
 			"All PipelineRuns completed successfully")
 		updateRunStatus(run, "condition", "succeeded")
 		return nil
 	}
 	// Before starting up another PipelineRun, check if the run was cancelled.
 	if run.IsCancelled() {
-		run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCancelled.String(),
+		run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCancelled.String(),
 			"Run %s/%s was cancelled",
 			run.Namespace, run.Name)
 		return nil
@@ -553,7 +552,7 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 				maxNestedStackDepth = maxNestedStackDepth - 1
 				c.setMaxNestedStackDepth(ctx, pipelineLoopSpec, run, maxNestedStackDepth)
 			} else if maxNestedStackDepth <= 0 {
-				run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonStackLimitExceeded.String(), "nested stack depth limit reached.")
+				run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonStackLimitExceeded.String(), "nested stack depth limit reached.")
 				return nil
 			}
 		}
@@ -577,28 +576,28 @@ func (c *Reconciler) reconcile(ctx context.Context, run *v1alpha1.Run, status *p
 	return nil
 }
 
-func (c *Reconciler) getPipelineLoop(ctx context.Context, run *v1alpha1.Run) (*metav1.ObjectMeta, *pipelineloopv1alpha1.PipelineLoopSpec, error) {
+func (c *Reconciler) getPipelineLoop(ctx context.Context, run *tektonv1beta1.CustomRun) (*metav1.ObjectMeta, *pipelineloopv1alpha1.PipelineLoopSpec, error) {
 	pipelineLoopMeta := metav1.ObjectMeta{}
 	pipelineLoopSpec := pipelineloopv1alpha1.PipelineLoopSpec{}
-	if run.Spec.Ref != nil && run.Spec.Ref.Name != "" {
+	if run.Spec.CustomRef != nil && run.Spec.CustomRef.Name != "" {
 		// Use the k8 client to get the PipelineLoop rather than the lister.  This avoids a timing issue where
 		// the PipelineLoop is not yet in the lister cache if it is created at nearly the same time as the Run.
 		// See https://github.com/tektoncd/pipeline/issues/2740 for discussion on this issue.
 		//
 		// tl, err := c.pipelineLoopLister.PipelineLoops(run.Namespace).Get(run.Spec.Ref.Name)
-		tl, err := c.pipelineloopClientSet.CustomV1alpha1().PipelineLoops(run.Namespace).Get(ctx, run.Spec.Ref.Name, metav1.GetOptions{})
+		tl, err := c.pipelineloopClientSet.CustomV1alpha1().PipelineLoops(run.Namespace).Get(ctx, run.Spec.CustomRef.Name, metav1.GetOptions{})
 		if err != nil {
-			run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop.String(),
+			run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop.String(),
 				"Error retrieving PipelineLoop for Run %s/%s: %s",
 				run.Namespace, run.Name, err)
 			return nil, nil, fmt.Errorf("error retrieving PipelineLoop for Run %s: %w", fmt.Sprintf("%s/%s", run.Namespace, run.Name), err)
 		}
 		pipelineLoopMeta = tl.ObjectMeta
 		pipelineLoopSpec = tl.Spec
-	} else if run.Spec.Spec != nil {
-		err := json.Unmarshal(run.Spec.Spec.Spec.Raw, &pipelineLoopSpec)
+	} else if run.Spec.CustomSpec != nil {
+		err := json.Unmarshal(run.Spec.CustomSpec.Spec.Raw, &pipelineLoopSpec)
 		if err != nil {
-			run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop.String(),
+			run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop.String(),
 				"Error unmarshal PipelineLoop spec for Run %s/%s: %s",
 				run.Namespace, run.Name, err)
 			return nil, nil, fmt.Errorf("error unmarshal PipelineLoop spec for Run %s: %w", fmt.Sprintf("%s/%s", run.Namespace, run.Name), err)
@@ -606,26 +605,26 @@ func (c *Reconciler) getPipelineLoop(ctx context.Context, run *v1alpha1.Run) (*m
 		pipelineLoopMeta = metav1.ObjectMeta{Name: run.Name,
 			Namespace:       run.Namespace,
 			OwnerReferences: run.OwnerReferences,
-			Labels:          run.Spec.Spec.Metadata.Labels,
-			Annotations:     run.Spec.Spec.Metadata.Annotations}
+			Labels:          run.Spec.CustomSpec.Metadata.Labels,
+			Annotations:     run.Spec.CustomSpec.Metadata.Annotations}
 	} else {
 		// Run does not require name but for PipelineLoop it does.
-		run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop.String(),
+		run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop.String(),
 			"Missing spec.ref.name for Run %s/%s",
 			run.Namespace, run.Name)
 		return nil, nil, fmt.Errorf("missing spec.ref.name for Run %s", fmt.Sprintf("%s/%s", run.Namespace, run.Name))
 	}
 	// pass down the run's serviceAccountName and podTemplate if they were not configured in the loop spec
-	if pipelineLoopSpec.PodTemplate == nil && run.Spec.PodTemplate != nil {
-		pipelineLoopSpec.PodTemplate = run.Spec.PodTemplate
-	}
+	//if pipelineLoopSpec.PodTemplate == nil && run.Spec.PodTemplate != nil {
+	//	pipelineLoopSpec.PodTemplate = run.Spec.PodTemplate
+	//}
 	if pipelineLoopSpec.ServiceAccountName == "" && run.Spec.ServiceAccountName != "" && run.Spec.ServiceAccountName != "default" {
 		pipelineLoopSpec.ServiceAccountName = run.Spec.ServiceAccountName
 	}
 	return &pipelineLoopMeta, &pipelineLoopSpec, nil
 }
 
-func updateRunStatus(run *v1alpha1.Run, resultName string, resultVal string) bool {
+func updateRunStatus(run *tektonv1beta1.CustomRun, resultName string, resultVal string) bool {
 	indexResultLastIdx := -1
 	// if Run already has resultName, then update it else append.
 	for i, res := range run.Status.Results {
@@ -634,12 +633,12 @@ func updateRunStatus(run *v1alpha1.Run, resultName string, resultVal string) boo
 		}
 	}
 	if indexResultLastIdx >= 0 {
-		run.Status.Results[indexResultLastIdx] = v1alpha1.RunResult{
+		run.Status.Results[indexResultLastIdx] = tektonv1beta1.CustomRunResult{
 			Name:  resultName,
 			Value: resultVal,
 		}
 	} else {
-		run.Status.Results = append(run.Status.Results, v1alpha1.RunResult{
+		run.Status.Results = append(run.Status.Results, tektonv1beta1.CustomRunResult{
 			Name:  resultName,
 			Value: resultVal,
 		})
@@ -647,7 +646,7 @@ func updateRunStatus(run *v1alpha1.Run, resultName string, resultVal string) boo
 	return true
 }
 
-func (c *Reconciler) createPipelineRun(ctx context.Context, logger *zap.SugaredLogger, tls *pipelineloopv1alpha1.PipelineLoopSpec, run *v1alpha1.Run, iteration int, iterationElements []interface{}) (*v1beta1.PipelineRun, error) {
+func (c *Reconciler) createPipelineRun(ctx context.Context, logger *zap.SugaredLogger, tls *pipelineloopv1alpha1.PipelineLoopSpec, run *tektonv1beta1.CustomRun, iteration int, iterationElements []interface{}) (*v1beta1.PipelineRun, error) {
 
 	// Create name for PipelineRun from Run name plus iteration number.
 	prName := names.SimpleNameGenerator.RestrictLengthWithRandomSuffix(fmt.Sprintf("%s-%s", run.Name, fmt.Sprintf("%05d", iteration)))
@@ -659,7 +658,7 @@ func (c *Reconciler) createPipelineRun(ctx context.Context, logger *zap.SugaredL
 	currentIterationItemBytes, _ := json.Marshal(iterationElements[currentIndex])
 	pipelineRunAnnotations[pipelineloop.GroupName+pipelineLoopCurrentIterationItemAnnotationKey] = string(currentIterationItemBytes)
 
-	pr := &v1beta1.PipelineRun{
+	pr := &tektonv1beta1.PipelineRun{
 		ObjectMeta: metav1.ObjectMeta{
 			Name:      prName,
 			Namespace: run.Namespace,
@@ -668,7 +667,7 @@ func (c *Reconciler) createPipelineRun(ctx context.Context, logger *zap.SugaredL
 			Labels:      getPipelineRunLabels(run, strconv.Itoa(iteration)),
 			Annotations: pipelineRunAnnotations,
 		},
-		Spec: v1beta1.PipelineRunSpec{
+		Spec: tektonv1beta1.PipelineRunSpec{
 			Params:             getParameters(run, tls, iteration, string(currentIterationItemBytes)),
 			Timeout:            tls.Timeout,
 			ServiceAccountName: tls.ServiceAccountName,
@@ -678,7 +677,7 @@ func (c *Reconciler) createPipelineRun(ctx context.Context, logger *zap.SugaredL
 		}}
 
 	if tls.PipelineRef != nil {
-		pr.Spec.PipelineRef = &v1beta1.PipelineRef{
+		pr.Spec.PipelineRef = &tektonv1beta1.PipelineRef{
 			Name: tls.PipelineRef.Name,
 			// Kind: tls.PipelineRef.Kind,
 		}
@@ -691,8 +690,8 @@ func (c *Reconciler) createPipelineRun(ctx context.Context, logger *zap.SugaredL
 
 }
 
-func (c *Reconciler) updateLabelsAndAnnotations(ctx context.Context, run *v1alpha1.Run) error {
-	newRun, err := c.runLister.Runs(run.Namespace).Get(run.Name)
+func (c *Reconciler) updateLabelsAndAnnotations(ctx context.Context, run *tektonv1beta1.CustomRun) error {
+	newRun, err := c.runLister.CustomRuns(run.Namespace).Get(run.Name)
 	if err != nil {
 		return fmt.Errorf("error getting Run %s when updating labels/annotations: %w", run.Name, err)
 	}
@@ -707,13 +706,13 @@ func (c *Reconciler) updateLabelsAndAnnotations(ctx context.Context, run *v1alph
 		if err != nil {
 			return err
 		}
-		_, err = c.pipelineClientSet.TektonV1alpha1().Runs(run.Namespace).Patch(ctx, run.Name, types.MergePatchType, patch, metav1.PatchOptions{})
+		_, err = c.pipelineClientSet.TektonV1beta1().CustomRuns(run.Namespace).Patch(ctx, run.Name, types.MergePatchType, patch, metav1.PatchOptions{})
 		return err
 	}
 	return nil
 }
 
-func (c *Reconciler) cancelAllPipelineRuns(ctx context.Context, run *v1alpha1.Run) error {
+func (c *Reconciler) cancelAllPipelineRuns(ctx context.Context, run *tektonv1beta1.CustomRun) error {
 	logger := logging.FromContext(ctx)
 	pipelineRunLabels := getPipelineRunLabels(run, "")
 	currentRunningPrs, err := c.pipelineRunLister.PipelineRuns(run.Namespace).List(labels.SelectorFromSet(pipelineRunLabels))
@@ -724,7 +723,7 @@ func (c *Reconciler) cancelAllPipelineRuns(ctx context.Context, run *v1alpha1.Ru
 		if !currentRunningPr.IsDone() && !currentRunningPr.IsCancelled() {
 			logger.Infof("Cancelling PipelineRun %s.", currentRunningPr.Name)
 			if _, err := c.pipelineClientSet.TektonV1beta1().PipelineRuns(run.Namespace).Patch(ctx, currentRunningPr.Name, types.JSONPatchType, cancelPatchBytes, metav1.PatchOptions{}); err != nil {
-				run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntCancel.String(),
+				run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonCouldntCancel.String(),
 					"Failed to patch PipelineRun `%s` with cancellation: %v", currentRunningPr.Name, err)
 				return nil
 			}
@@ -733,11 +732,11 @@ func (c *Reconciler) cancelAllPipelineRuns(ctx context.Context, run *v1alpha1.Ru
 	return nil
 }
 
-func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationElements []interface{}, run *v1alpha1.Run, status *pipelineloopv1alpha1.PipelineLoopRunStatus) (int, []*v1beta1.PipelineRun, []*v1beta1.PipelineRun, error) {
+func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationElements []interface{}, run *tektonv1beta1.CustomRun, status *pipelineloopv1alpha1.PipelineLoopRunStatus) (int, []*v1beta1.PipelineRun, []*v1beta1.PipelineRun, error) {
 	logger := logging.FromContext(ctx)
 	highestIteration := 0
-	var currentRunningPrs []*v1beta1.PipelineRun
-	var failedPrs []*v1beta1.PipelineRun
+	var currentRunningPrs []*tektonv1beta1.PipelineRun
+	var failedPrs []*tektonv1beta1.PipelineRun
 	if status.PipelineRuns == nil {
 		status.PipelineRuns = make(map[string]*pipelineloopv1alpha1.PipelineLoopPipelineRunStatus)
 	}
@@ -759,7 +758,7 @@ func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationEleme
 		iterationStr := lbls[pipelineloop.GroupName+pipelineLoopIterationLabelKey]
 		iteration, err := strconv.Atoi(iterationStr)
 		if err != nil {
-			run.Status.MarkRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
+			run.Status.MarkCustomRunFailed(pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation.String(),
 				"Error converting iteration number in PipelineRun %s:  %#v", pr.Name, err)
 			logger.Errorf("Error converting iteration number in PipelineRun %s:  %#v", pr.Name, err)
 			return 0, nil, nil, nil
@@ -787,7 +786,7 @@ func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationEleme
 			for _, task := range skippedTaskList {
 				if task.Name == lastLoopTask {
 					// Mark run successful and stop the loop pipelinerun
-					run.Status.MarkRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
+					run.Status.MarkCustomRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
 						"PipelineRuns completed successfully with the conditions are met")
 					updateRunStatus(run, "condition", "pass")
 				}
@@ -814,9 +813,9 @@ func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationEleme
 								" %#v", child.Name, err)
 						}
 						if pr.Status.TaskRuns == nil {
-							pr.Status.TaskRuns = make(map[string]*v1beta1.PipelineRunTaskRunStatus)
+							pr.Status.TaskRuns = make(map[string]*tektonv1beta1.PipelineRunTaskRunStatus)
 						}
-						pr.Status.TaskRuns[child.Name] = &v1beta1.PipelineRunTaskRunStatus{
+						pr.Status.TaskRuns[child.Name] = &tektonv1beta1.PipelineRunTaskRunStatus{
 							PipelineTaskName: child.PipelineTaskName,
 							WhenExpressions:  child.WhenExpressions,
 							Status:           tr.DeepCopy(),
@@ -829,10 +828,10 @@ func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationEleme
 								" %#v", child.Name, err)
 						}
 						if pr.Status.Runs == nil {
-							pr.Status.Runs = make(map[string]*v1beta1.PipelineRunRunStatus)
+							pr.Status.Runs = make(map[string]*tektonv1beta1.PipelineRunRunStatus)
 						}
 
-						pr.Status.Runs[child.Name] = &v1beta1.PipelineRunRunStatus{
+						pr.Status.Runs[child.Name] = &tektonv1beta1.PipelineRunRunStatus{
 							PipelineTaskName: child.PipelineTaskName,
 							WhenExpressions:  child.WhenExpressions,
 							Status:           run.DeepCopy(),
@@ -852,7 +851,7 @@ func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationEleme
 							" %#v", run.Name, err)
 					}
 					// Mark run successful and stop the loop pipelinerun
-					run.Status.MarkRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
+					run.Status.MarkCustomRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
 						"PipelineRuns completed successfully with the conditions are met")
 					updateRunStatus(run, "condition", "pass")
 					break
@@ -868,7 +867,7 @@ func (c *Reconciler) updatePipelineRunStatus(ctx context.Context, iterationEleme
 							" %#v", run.Name, err)
 					}
 					// Mark run successful and stop the loop pipelinerun
-					run.Status.MarkRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
+					run.Status.MarkCustomRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(),
 						"PipelineRuns completed successfully with the conditions are met")
 					updateRunStatus(run, "condition", "pass")
 					break
@@ -889,7 +888,7 @@ func getIntegerParamValue(parm v1beta1.Param) (int, error) {
 	return retVal, err
 }
 
-func computeIterations(run *v1alpha1.Run, tls *pipelineloopv1alpha1.PipelineLoopSpec) (int, []interface{}, error) {
+func computeIterations(run *tektonv1beta1.CustomRun, tls *pipelineloopv1alpha1.PipelineLoopSpec) (int, []interface{}, error) {
 	// Find the iterate parameter.
 	numberOfIterations := -1
 	from := 0
@@ -1024,7 +1023,7 @@ func computeIterations(run *v1alpha1.Run, tls *pipelineloopv1alpha1.PipelineLoop
 	return numberOfIterations, iterationElements, err
 }
 
-func getParameters(run *v1alpha1.Run, tls *pipelineloopv1alpha1.PipelineLoopSpec, iteration int, currentIterationItem string) []v1beta1.Param {
+func getParameters(run *tektonv1beta1.CustomRun, tls *pipelineloopv1alpha1.PipelineLoopSpec, iteration int, currentIterationItem string) []v1beta1.Param {
 	var out []v1beta1.Param
 	if tls.IterateParam != "" {
 		// IterateParam defined
@@ -1128,7 +1127,7 @@ func getParameters(run *v1alpha1.Run, tls *pipelineloopv1alpha1.PipelineLoopSpec
 	return out
 }
 
-func getPipelineRunAnnotations(run *v1alpha1.Run) map[string]string {
+func getPipelineRunAnnotations(run *tektonv1beta1.CustomRun) map[string]string {
 	// Propagate annotations from Run to PipelineRun.
 	annotations := make(map[string]string, len(run.ObjectMeta.Annotations)+1)
 	for key, val := range run.ObjectMeta.Annotations {
@@ -1148,7 +1147,7 @@ func Find(slice []string, val string) (int, bool) {
 	return -1, false
 }
 
-func getPipelineRunLabels(run *v1alpha1.Run, iterationStr string) map[string]string {
+func getPipelineRunLabels(run *tektonv1beta1.CustomRun, iterationStr string) map[string]string {
 	// Propagate labels from Run to PipelineRun.
 	labels := make(map[string]string, len(run.ObjectMeta.Labels)+1)
 	ignoreLabelsKey := []string{"tekton.dev/pipelineRun", "tekton.dev/pipelineTask", "tekton.dev/pipeline", "custom.tekton.dev/pipelineLoopIteration"}
@@ -1179,7 +1178,7 @@ func getPipelineRunLabels(run *v1alpha1.Run, iterationStr string) map[string]str
 	return labels
 }
 
-func propagatePipelineLoopLabelsAndAnnotations(run *v1alpha1.Run, pipelineLoopMeta *metav1.ObjectMeta) {
+func propagatePipelineLoopLabelsAndAnnotations(run *tektonv1beta1.CustomRun, pipelineLoopMeta *metav1.ObjectMeta) {
 	// Propagate labels from PipelineLoop to Run.
 	if run.ObjectMeta.Labels == nil {
 		run.ObjectMeta.Labels = make(map[string]string, len(pipelineLoopMeta.Labels)+1)


Test patch:
diff --git a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelineloop_range_test.go b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelineloop_range_test.go
index 70a16aaa83..0079c33da1 100644
--- a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelineloop_range_test.go
+++ b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelineloop_range_test.go
@@ -24,8 +24,7 @@ import (
 	"github.com/google/go-cmp/cmp"
 	pipelineloopv1alpha1 "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/apis/pipelineloop/v1alpha1"
 	"github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/test"
-	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1"
-	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
+	tektonv1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
 	"github.com/tektoncd/pipeline/test/diff"
 	"github.com/tektoncd/pipeline/test/names"
 	corev1 "k8s.io/api/core/v1"
@@ -33,7 +32,7 @@ import (
 	_ "knative.dev/pkg/system/testing"
 )
 
-var expectedPipelineRunWithRange1 = &v1beta1.PipelineRun{
+var expectedPipelineRunWithRange1 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -57,19 +56,19 @@ var expectedPipelineRunWithRange1 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": "-1",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "n-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "n-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "iteration",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "-1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "-1"},
 		}},
 	},
 }
 
-var expectedPipelineRunWithRange2 = &v1beta1.PipelineRun{
+var expectedPipelineRunWithRange2 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -93,18 +92,18 @@ var expectedPipelineRunWithRange2 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": "1",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "n-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "n-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "iteration",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "1"},
 		}},
 	},
 }
-var expectedPipelineRunWithRange3 = &v1beta1.PipelineRun{
+var expectedPipelineRunWithRange3 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -128,14 +127,14 @@ var expectedPipelineRunWithRange3 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": "0",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "n-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "n-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "iteration",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "0"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "0"},
 		}},
 	},
 }
@@ -149,7 +148,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		step                 string
 		expectedStatus       corev1.ConditionStatus
 		expectedReason       pipelineloopv1alpha1.PipelineLoopRunReason
-		expectedPipelineruns []*v1beta1.PipelineRun
+		expectedPipelineruns []*tektonv1beta1.PipelineRun
 		expectedEvents       []string
 	}{{
 		name:                 "Case from = to",
@@ -158,7 +157,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		step:                 "1",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange2},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange2},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from 0 to 0 and non zero step increment",
@@ -167,7 +166,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "0",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange3},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange3},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from < to and +ve step increment",
@@ -176,7 +175,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "0",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange1},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from < to and step == 0",
@@ -185,7 +184,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "0",
 		expectedStatus:       corev1.ConditionFalse,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation,
-		expectedPipelineruns: []*v1beta1.PipelineRun{},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{},
 		expectedEvents:       []string{"Normal Started ", "Warning Failed Cannot determine number of iterations: invalid values step: 0 found in runs"},
 	}, {
 		name:                 "Case to - from < step and step > 0",
@@ -194,7 +193,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange2},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange2},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case to - from < step and step > 0",
@@ -203,7 +202,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange3},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange3},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from = to",
@@ -212,7 +211,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange1},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from > to and non -ve step increment",
@@ -221,7 +220,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1",
 		expectedStatus:       corev1.ConditionFalse,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation,
-		expectedPipelineruns: []*v1beta1.PipelineRun{},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{},
 		expectedEvents:       []string{"Normal Started ", "Warning Failed Cannot determine number of iterations: invalid values step: 0 found in runs"},
 	}, {
 		name:                 "Case step == 0",
@@ -230,7 +229,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1",
 		expectedStatus:       corev1.ConditionFalse,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation,
-		expectedPipelineruns: []*v1beta1.PipelineRun{},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{},
 		expectedEvents:       []string{"Normal Started ", "Warning Failed Cannot determine number of iterations: invalid values step: 0 found in runs"},
 	}, {
 		name:                 "Case from > to and -ve step increment",
@@ -239,7 +238,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange2},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange2},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from > to and -ve step increment",
@@ -248,7 +247,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange3},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange3},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from == 0\n",
@@ -257,7 +256,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "-1\n",
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithRange3},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithRange3},
 		expectedEvents:       []string{"Normal Started ", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Case from == abc\n",
@@ -266,7 +265,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 		to:                   "edf",
 		expectedStatus:       corev1.ConditionFalse,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation,
-		expectedPipelineruns: []*v1beta1.PipelineRun{},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{},
 		expectedEvents:       []string{"Normal Started ", "Warning Failed Cannot determine number of iterations: input \"to\" is not a number"},
 	}}
 
@@ -276,9 +275,9 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 			names.TestingSeed()
 			run := specifyLoopRange(tc.from, tc.to, tc.step, runPipelineLoopWithIterateNumeric)
 			d := test.Data{
-				Runs:         []*v1alpha1.Run{run},
-				Pipelines:    []*v1beta1.Pipeline{nPipeline},
-				PipelineRuns: []*v1beta1.PipelineRun{},
+				CustomRuns:   []*tektonv1beta1.CustomRun{run},
+				Pipelines:    []*tektonv1beta1.Pipeline{nPipeline},
+				PipelineRuns: []*tektonv1beta1.PipelineRun{},
 			}
 
 			testAssets, _ := getPipelineLoopController(t, d, []*pipelineloopv1alpha1.PipelineLoop{nPipelineLoop})
@@ -290,7 +289,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 			}
 
 			// Fetch the updated Run
-			reconciledRun, err := clients.Pipeline.TektonV1alpha1().Runs(run.Namespace).Get(ctx, run.Name, metav1.GetOptions{})
+			reconciledRun, err := clients.Pipeline.TektonV1beta1().CustomRuns(run.Namespace).Get(ctx, run.Name, metav1.GetOptions{})
 			if err != nil {
 				t.Fatalf("Error getting reconciled run from fake client: %s", err)
 			}
@@ -335,7 +334,7 @@ func TestReconcilePipelineLoopRunRange(t *testing.T) {
 				if len(createdPipelineruns) == 0 {
 					t.Errorf("A PipelineRun should have been created but was not")
 				} else {
-					pipelineRunsExpectedToBeCreated := make([]*v1beta1.PipelineRun, len(createdPipelineruns))
+					pipelineRunsExpectedToBeCreated := make([]*tektonv1beta1.PipelineRun, len(createdPipelineruns))
 					i := 0
 					for _, pr := range tc.expectedPipelineruns {
 						if pr.Labels["deleted"] != "True" {
diff --git a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun_test.go b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun_test.go
index 88fde3806a..520ddccc7f 100644
--- a/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun_test.go
+++ b/tekton-catalog/pipeline-loops/pkg/reconciler/pipelinelooprun/pipelinelooprun_test.go
@@ -34,8 +34,7 @@ import (
 	fakepipelineloopinformer "github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/pkg/client/injection/informers/pipelineloop/v1alpha1/pipelineloop/fake"
 	"github.com/kubeflow/kfp-tekton/tekton-catalog/pipeline-loops/test"
 	"github.com/tektoncd/pipeline/pkg/apis/pipeline/pod"
-	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1"
-	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
+	tektonv1beta1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
 	ttesting "github.com/tektoncd/pipeline/pkg/reconciler/testing"
 	"github.com/tektoncd/pipeline/test/diff"
 	"github.com/tektoncd/pipeline/test/names"
@@ -70,66 +69,66 @@ func init() {
 	initCacheParams()
 }
 
-func getRunName(run *v1alpha1.Run) string {
+func getRunName(run *tektonv1beta1.CustomRun) string {
 	return strings.Join([]string{run.Namespace, run.Name}, "/")
 }
 
-func loopRunning(run *v1alpha1.Run) *v1alpha1.Run {
+func loopRunning(run *tektonv1beta1.CustomRun) *tektonv1beta1.CustomRun {
 	runWithStatus := run.DeepCopy()
 	runWithStatus.Status.InitializeConditions()
-	runWithStatus.Status.MarkRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonRunning.String(), "")
+	runWithStatus.Status.MarkCustomRunRunning(pipelineloopv1alpha1.PipelineLoopRunReasonRunning.String(), "")
 	return runWithStatus
 }
 
-func loopSucceeded(run *v1alpha1.Run) *v1alpha1.Run {
+func loopSucceeded(run *tektonv1beta1.CustomRun) *tektonv1beta1.CustomRun {
 	runWithStatus := run.DeepCopy()
 	runWithStatus.Status.InitializeConditions()
-	runWithStatus.Status.MarkRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(), "")
+	runWithStatus.Status.MarkCustomRunSucceeded(pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded.String(), "")
 	return runWithStatus
 }
 
-func successful(pr *v1beta1.PipelineRun) *v1beta1.PipelineRun {
+func successful(pr *tektonv1beta1.PipelineRun) *tektonv1beta1.PipelineRun {
 	prWithStatus := pr.DeepCopy()
 	prWithStatus.Status.SetCondition(&apis.Condition{
 		Type:    apis.ConditionSucceeded,
 		Status:  corev1.ConditionTrue,
-		Reason:  v1beta1.PipelineRunReasonSuccessful.String(),
+		Reason:  tektonv1beta1.PipelineRunReasonSuccessful.String(),
 		Message: "All Steps have completed executing",
 	})
 	return prWithStatus
 }
 
-func successfulWithSkipedTasks(pr *v1beta1.PipelineRun) *v1beta1.PipelineRun {
+func successfulWithSkipedTasks(pr *tektonv1beta1.PipelineRun) *tektonv1beta1.PipelineRun {
 	prWithStatus := pr.DeepCopy()
 	prWithStatus.Status.SetCondition(&apis.Condition{
 		Type:    apis.ConditionSucceeded,
 		Status:  corev1.ConditionTrue,
-		Reason:  v1beta1.PipelineRunReasonSuccessful.String(),
+		Reason:  tektonv1beta1.PipelineRunReasonSuccessful.String(),
 		Message: "Tasks Completed: 2 (Failed: 0, Cancelled 0), Skipped: 1",
 	})
-	prWithStatus.Status.SkippedTasks = []v1beta1.SkippedTask{{
+	prWithStatus.Status.SkippedTasks = []tektonv1beta1.SkippedTask{{
 		Name: "task-fail",
 	}}
 	return prWithStatus
 }
 
-func failed(pr *v1beta1.PipelineRun) *v1beta1.PipelineRun {
+func failed(pr *tektonv1beta1.PipelineRun) *tektonv1beta1.PipelineRun {
 	prWithStatus := pr.DeepCopy()
 	prWithStatus.Status.SetCondition(&apis.Condition{
 		Type:    apis.ConditionSucceeded,
 		Status:  corev1.ConditionFalse,
-		Reason:  v1beta1.PipelineRunReasonFailed.String(),
+		Reason:  tektonv1beta1.PipelineRunReasonFailed.String(),
 		Message: "Something went wrong",
 	})
 	return prWithStatus
 }
 
-func setRetries(run *v1alpha1.Run, retries int) *v1alpha1.Run {
+func setRetries(run *tektonv1beta1.CustomRun, retries int) *tektonv1beta1.CustomRun {
 	run.Spec.Retries = retries
 	return run
 }
 
-func setDeleted(pr *v1beta1.PipelineRun) *v1beta1.PipelineRun {
+func setDeleted(pr *tektonv1beta1.PipelineRun) *tektonv1beta1.PipelineRun {
 	pr.Labels["deleted"] = "True"
 	return pr
 }
@@ -169,13 +168,13 @@ func getPipelineLoopController(t *testing.T, d test.Data, pipelineloops []*pipel
 	}, cancel
 }
 
-func getCreatedPipelinerun(t *testing.T, clients test.Clients) []*v1beta1.PipelineRun {
+func getCreatedPipelinerun(t *testing.T, clients test.Clients) []*tektonv1beta1.PipelineRun {
 	t.Log("actions", clients.Pipeline.Actions())
-	var createdPr []*v1beta1.PipelineRun
+	var createdPr []*tektonv1beta1.PipelineRun
 	for _, a := range clients.Pipeline.Actions() {
 		if a.GetVerb() == "create" {
 			obj := a.(ktesting.CreateAction).GetObject()
-			if pr, ok := obj.(*v1beta1.PipelineRun); ok {
+			if pr, ok := obj.(*tektonv1beta1.PipelineRun); ok {
 				createdPr = append(createdPr, pr)
 			}
 		}
@@ -213,8 +212,8 @@ func checkEvents(fr *record.FakeRecorder, testName string, wantEvents []string)
 	return nil
 }
 
-func checkRunCondition(t *testing.T, run *v1alpha1.Run, expectedStatus corev1.ConditionStatus, expectedReason pipelineloopv1alpha1.PipelineLoopRunReason) {
-	condition := run.Status.GetCondition(apis.ConditionSucceeded)
+func checkRunCondition(t *testing.T, customRun *tektonv1beta1.CustomRun, expectedStatus corev1.ConditionStatus, expectedReason pipelineloopv1alpha1.PipelineLoopRunReason) {
+	condition := customRun.Status.GetCondition(apis.ConditionSucceeded)
 	if condition == nil {
 		t.Error("Condition missing in Run")
 	} else {
@@ -225,21 +224,21 @@ func checkRunCondition(t *testing.T, run *v1alpha1.Run, expectedStatus corev1.Co
 			t.Errorf("Expected reason to be %q but was %q", expectedReason.String(), condition.Reason)
 		}
 	}
-	if run.Status.StartTime == nil {
+	if customRun.Status.StartTime == nil {
 		t.Errorf("Expected Run start time to be set but it wasn't")
 	}
 	if expectedStatus == corev1.ConditionUnknown {
-		if run.Status.CompletionTime != nil {
+		if customRun.Status.CompletionTime != nil {
 			t.Errorf("Expected Run completion time to not be set but it was")
 		}
-	} else if run.Status.CompletionTime == nil {
+	} else if customRun.Status.CompletionTime == nil {
 		t.Errorf("Expected Run completion time to be set but it wasn't")
 	}
 }
 
-func checkRunStatus(t *testing.T, run *v1alpha1.Run, expectedStatus map[string]pipelineloopv1alpha1.PipelineLoopPipelineRunStatus) {
+func checkRunStatus(t *testing.T, customRun *tektonv1beta1.CustomRun, expectedStatus map[string]pipelineloopv1alpha1.PipelineLoopPipelineRunStatus) {
 	status := &pipelineloopv1alpha1.PipelineLoopRunStatus{}
-	if err := run.Status.DecodeExtraFields(status); err != nil {
+	if err := customRun.Status.DecodeExtraFields(status); err != nil {
 		t.Errorf("DecodeExtraFields error: %v", err.Error())
 	}
 	t.Log("pipelineruns", status.PipelineRuns)
@@ -269,21 +268,21 @@ func checkRunStatus(t *testing.T, run *v1alpha1.Run, expectedStatus map[string]p
 	}
 }
 
-var aPipeline = &v1beta1.Pipeline{
+var aPipeline = &tektonv1beta1.Pipeline{
 	ObjectMeta: metav1.ObjectMeta{Name: "a-pipeline", Namespace: "foo"},
-	Spec: v1beta1.PipelineSpec{
-		Params: []v1beta1.ParamSpec{{
+	Spec: tektonv1beta1.PipelineSpec{
+		Params: []tektonv1beta1.ParamSpec{{
 			Name: "current-item",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}, {
 			Name: "additional-parameter",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}},
-		Tasks: []v1beta1.PipelineTask{{
+		Tasks: []tektonv1beta1.PipelineTask{{
 			Name: "mytask",
-			TaskSpec: &v1beta1.EmbeddedTask{
-				TaskSpec: v1beta1.TaskSpec{
-					Steps: []v1beta1.Step{{
+			TaskSpec: &tektonv1beta1.EmbeddedTask{
+				TaskSpec: tektonv1beta1.TaskSpec{
+					Steps: []tektonv1beta1.Step{{
 						Name: "foo", Image: "bar",
 					}},
 				},
@@ -295,7 +294,7 @@ var aPipeline = &v1beta1.Pipeline{
 var aPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 	ObjectMeta: metav1.ObjectMeta{Name: "a-pipelineloop", Namespace: "foo"},
 	Spec: pipelineloopv1alpha1.PipelineLoopSpec{
-		PipelineRef:           &v1beta1.PipelineRef{Name: "a-pipeline"},
+		PipelineRef:           &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
 		IterateParam:          "current-item",
 		IterateParamSeparator: "separator",
 	},
@@ -304,7 +303,7 @@ var aPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 var aPipelineLoop2 = &pipelineloopv1alpha1.PipelineLoop{
 	ObjectMeta: metav1.ObjectMeta{Name: "a-pipelineloop2", Namespace: "foo"},
 	Spec: pipelineloopv1alpha1.PipelineLoopSpec{
-		PipelineRef:           &v1beta1.PipelineRef{Name: "a-pipeline"},
+		PipelineRef:           &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
 		IterateParam:          "current-item",
 		IterateParamSeparator: "separator",
 		IterationNumberParam:  "additional-parameter",
@@ -314,9 +313,9 @@ var aPipelineLoop2 = &pipelineloopv1alpha1.PipelineLoop{
 var wsPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 	ObjectMeta: metav1.ObjectMeta{Name: "ws-pipelineloop", Namespace: "foo"},
 	Spec: pipelineloopv1alpha1.PipelineLoopSpec{
-		PipelineRef:  &v1beta1.PipelineRef{Name: "a-pipeline"},
+		PipelineRef:  &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
 		IterateParam: "current-item",
-		Workspaces: []v1beta1.WorkspaceBinding{{
+		Workspaces: []tektonv1beta1.WorkspaceBinding{{
 			Name: "test",
 			ConfigMap: &corev1.ConfigMapVolumeSource{
 				LocalObjectReference: corev1.LocalObjectReference{Name: "test"},
@@ -329,7 +328,7 @@ var wsPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 var newPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 	ObjectMeta: metav1.ObjectMeta{Name: "new-pipelineloop", Namespace: "foo"},
 	Spec: pipelineloopv1alpha1.PipelineLoopSpec{
-		PipelineRef:        &v1beta1.PipelineRef{Name: "a-pipeline"},
+		PipelineRef:        &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
 		IterateParam:       "current-item",
 		ServiceAccountName: "default",
 		PodTemplate: &pod.PodTemplate{
@@ -339,7 +338,7 @@ var newPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 			}},
 			HostNetwork: true,
 		},
-		TaskRunSpecs: []v1beta1.PipelineTaskRunSpec{{
+		TaskRunSpecs: []tektonv1beta1.PipelineTaskRunSpec{{
 			PipelineTaskName:       "test-task",
 			TaskServiceAccountName: "test",
 			TaskPodTemplate: &pod.PodTemplate{
@@ -353,21 +352,21 @@ var newPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 	},
 }
 
-var nPipeline = &v1beta1.Pipeline{
+var nPipeline = &tektonv1beta1.Pipeline{
 	ObjectMeta: metav1.ObjectMeta{Name: "n-pipeline", Namespace: "foo"},
-	Spec: v1beta1.PipelineSpec{
-		Params: []v1beta1.ParamSpec{{
+	Spec: tektonv1beta1.PipelineSpec{
+		Params: []tektonv1beta1.ParamSpec{{
 			Name: "iteration",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}, {
 			Name: "additional-parameter",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}},
-		Tasks: []v1beta1.PipelineTask{{
+		Tasks: []tektonv1beta1.PipelineTask{{
 			Name: "mytask",
-			TaskSpec: &v1beta1.EmbeddedTask{
-				TaskSpec: v1beta1.TaskSpec{
-					Steps: []v1beta1.Step{{
+			TaskSpec: &tektonv1beta1.EmbeddedTask{
+				TaskSpec: tektonv1beta1.TaskSpec{
+					Steps: []tektonv1beta1.Step{{
 						Name: "foo", Image: "bar",
 					}},
 				},
@@ -376,21 +375,21 @@ var nPipeline = &v1beta1.Pipeline{
 	},
 }
 
-var paraPipeline = &v1beta1.Pipeline{
+var paraPipeline = &tektonv1beta1.Pipeline{
 	ObjectMeta: metav1.ObjectMeta{Name: "para-pipeline", Namespace: "foo"},
-	Spec: v1beta1.PipelineSpec{
-		Params: []v1beta1.ParamSpec{{
+	Spec: tektonv1beta1.PipelineSpec{
+		Params: []tektonv1beta1.ParamSpec{{
 			Name: "current-item",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}, {
 			Name: "additional-parameter",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}},
-		Tasks: []v1beta1.PipelineTask{{
+		Tasks: []tektonv1beta1.PipelineTask{{
 			Name: "mytask",
-			TaskSpec: &v1beta1.EmbeddedTask{
-				TaskSpec: v1beta1.TaskSpec{
-					Steps: []v1beta1.Step{{
+			TaskSpec: &tektonv1beta1.EmbeddedTask{
+				TaskSpec: tektonv1beta1.TaskSpec{
+					Steps: []tektonv1beta1.Step{{
 						Name: "foo", Image: "bar",
 					}},
 				},
@@ -416,19 +415,19 @@ var ePipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 	},
 }
 
-var nestedPipeline = &v1beta1.Pipeline{
+var nestedPipeline = &tektonv1beta1.Pipeline{
 	ObjectMeta: metav1.ObjectMeta{Name: "nestedPipeline", Namespace: "foo"},
-	Spec: v1beta1.PipelineSpec{
-		Params: []v1beta1.ParamSpec{{
+	Spec: tektonv1beta1.PipelineSpec{
+		Params: []tektonv1beta1.ParamSpec{{
 			Name: "additional-parameter",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}, {
 			Name: "iteration",
-			Type: v1beta1.ParamTypeString,
+			Type: tektonv1beta1.ParamTypeString,
 		}},
-		Tasks: []v1beta1.PipelineTask{{
+		Tasks: []tektonv1beta1.PipelineTask{{
 			Name: "mytask",
-			TaskSpec: &v1beta1.EmbeddedTask{
+			TaskSpec: &tektonv1beta1.EmbeddedTask{
 				TypeMeta: runtime.TypeMeta{
 					APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 					Kind:       pipelineloop.PipelineLoopControllerName,
@@ -441,7 +440,7 @@ var nestedPipeline = &v1beta1.Pipeline{
 	},
 }
 
-func setPipelineNestedStackDepth(pipeline *v1beta1.Pipeline, depth int) *v1beta1.Pipeline {
+func setPipelineNestedStackDepth(pipeline *tektonv1beta1.Pipeline, depth int) *tektonv1beta1.Pipeline {
 	pl := pipeline.DeepCopy()
 	pl.Spec.Tasks[0].TaskSpec.Metadata.Annotations = map[string]string{MaxNestedStackDepthKey: fmt.Sprint(depth)}
 	return pl
@@ -450,7 +449,7 @@ func setPipelineNestedStackDepth(pipeline *v1beta1.Pipeline, depth int) *v1beta1
 var paraPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 	ObjectMeta: metav1.ObjectMeta{Name: "para-pipelineloop", Namespace: "foo"},
 	Spec: pipelineloopv1alpha1.PipelineLoopSpec{
-		PipelineRef:  &v1beta1.PipelineRef{Name: "para-pipeline"},
+		PipelineRef:  &tektonv1beta1.PipelineRef{Name: "para-pipeline"},
 		IterateParam: "current-item",
 		Parallelism:  2,
 	},
@@ -459,7 +458,7 @@ var paraPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 var nPipelineLoop = &pipelineloopv1alpha1.PipelineLoop{
 	ObjectMeta: metav1.ObjectMeta{Name: "n-pipelineloop", Namespace: "foo"},
 	Spec: pipelineloopv1alpha1.PipelineLoopSpec{
-		PipelineRef:    &v1beta1.PipelineRef{Name: "n-pipeline"},
+		PipelineRef:    &tektonv1beta1.PipelineRef{Name: "n-pipeline"},
 		IterateNumeric: "iteration",
 	},
 }
@@ -481,19 +480,19 @@ func setPipelineLoopNestedStackDepth(pl *pipelineloopv1alpha1.PipelineLoop, dept
 var aPipelineLoopWithInlineTask = &pipelineloopv1alpha1.PipelineLoop{
 	ObjectMeta: metav1.ObjectMeta{Name: "a-pipelineloop-with-inline-task", Namespace: "foo"},
 	Spec: pipelineloopv1alpha1.PipelineLoopSpec{
-		PipelineSpec: &v1beta1.PipelineSpec{
-			Tasks: []v1beta1.PipelineTask{{
+		PipelineSpec: &tektonv1beta1.PipelineSpec{
+			Tasks: []tektonv1beta1.PipelineTask{{
 				Name: "mytask",
-				TaskSpec: &v1beta1.EmbeddedTask{
-					TaskSpec: v1beta1.TaskSpec{
-						Params: []v1beta1.ParamSpec{{
+				TaskSpec: &tektonv1beta1.EmbeddedTask{
+					TaskSpec: tektonv1beta1.TaskSpec{
+						Params: []tektonv1beta1.ParamSpec{{
 							Name: "current-item",
-							Type: v1beta1.ParamTypeString,
+							Type: tektonv1beta1.ParamTypeString,
 						}, {
 							Name: "additional-parameter",
-							Type: v1beta1.ParamTypeString,
+							Type: tektonv1beta1.ParamTypeString,
 						}},
-						Steps: []v1beta1.Step{{
+						Steps: []tektonv1beta1.Step{{
 							Name: "foo", Image: "bar",
 						}},
 					},
@@ -505,7 +504,7 @@ var aPipelineLoopWithInlineTask = &pipelineloopv1alpha1.PipelineLoop{
 	},
 }
 
-var runWsPipelineLoop = &v1alpha1.Run{
+var runWsPipelineLoop = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-ws-pipelineloop",
 		Namespace: "foo",
@@ -520,15 +519,15 @@ var runWsPipelineLoop = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "ws-pipelineloop",
@@ -536,7 +535,7 @@ var runWsPipelineLoop = &v1alpha1.Run{
 	},
 }
 
-var runNewPipelineLoop = &v1alpha1.Run{
+var runNewPipelineLoop = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-new-pipelineloop",
 		Namespace: "foo",
@@ -551,12 +550,12 @@ var runNewPipelineLoop = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "new-pipelineloop",
@@ -564,43 +563,7 @@ var runNewPipelineLoop = &v1alpha1.Run{
 	},
 }
 
-var runNewPipelineLoopWithPodTemplateAndSA = &v1alpha1.Run{
-	ObjectMeta: metav1.ObjectMeta{
-		Name:      "run-a-pipelineloop",
-		Namespace: "foo",
-		Labels: map[string]string{
-			"myTestLabel":                    "myTestLabelValue",
-			"custom.tekton.dev/pipelineLoop": "a-pipelineloop",
-			"tekton.dev/pipeline":            "pr-loop-example",
-			"tekton.dev/pipelineRun":         "pr-loop-example",
-			"tekton.dev/pipelineTask":        "loop-task",
-		},
-		Annotations: map[string]string{
-			"myTestAnnotation": "myTestAnnotationValue",
-		},
-	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
-			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
-		}},
-		ServiceAccountName: "pipeline-runner",
-		PodTemplate: &pod.PodTemplate{
-			HostAliases: []corev1.HostAlias{{
-				IP:        "0.0.0.0",
-				Hostnames: []string{"localhost"},
-			}},
-			HostNetwork: true,
-		},
-		Ref: &v1beta1.TaskRef{
-			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
-			Kind:       pipelineloop.PipelineLoopControllerName,
-			Name:       "a-pipelineloop",
-		},
-	},
-}
-
-var runPipelineLoop = &v1alpha1.Run{
+var runPipelineLoop = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -615,15 +578,15 @@ var runPipelineLoop = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -631,7 +594,7 @@ var runPipelineLoop = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoop2 = &v1alpha1.Run{
+var runPipelineLoop2 = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -646,12 +609,12 @@ var runPipelineLoop2 = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop2",
@@ -659,7 +622,7 @@ var runPipelineLoop2 = &v1alpha1.Run{
 	},
 }
 
-var runNestedPipelineLoop = &v1alpha1.Run{
+var runNestedPipelineLoop = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "nested-pipelineloop",
 		Namespace: "foo",
@@ -670,15 +633,15 @@ var runNestedPipelineLoop = &v1alpha1.Run{
 			"myTestAnnotation12": "myTestAnnotationValue12",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1"}},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Spec: &v1alpha1.EmbeddedRunSpec{
+		CustomSpec: &tektonv1beta1.EmbeddedCustomRunSpec{
 			TypeMeta: runtime.TypeMeta{
 				APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 				Kind:       pipelineloop.PipelineLoopControllerName,
@@ -690,13 +653,13 @@ var runNestedPipelineLoop = &v1alpha1.Run{
 	},
 }
 
-func setRunNestedStackDepth(run *v1alpha1.Run, depth int) *v1alpha1.Run {
+func setRunNestedStackDepth(run *tektonv1beta1.CustomRun, depth int) *tektonv1beta1.CustomRun {
 	r := run.DeepCopy()
-	r.Spec.Spec.Metadata.Annotations = map[string]string{MaxNestedStackDepthKey: fmt.Sprint(depth)}
+	r.Spec.CustomSpec.Metadata.Annotations = map[string]string{MaxNestedStackDepthKey: fmt.Sprint(depth)}
 	return r
 }
 
-var paraRunPipelineLoop = &v1alpha1.Run{
+var paraRunPipelineLoop = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -707,15 +670,15 @@ var paraRunPipelineLoop = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "para-pipelineloop",
@@ -723,7 +686,7 @@ var paraRunPipelineLoop = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoopWithInDictParams = &v1alpha1.Run{
+var runPipelineLoopWithInDictParams = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -740,15 +703,15 @@ var runPipelineLoopWithInDictParams = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `[{"a":1,"b":2}, {"a":2,"b":1}]`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `[{"a":1,"b":2}, {"a":2,"b":1}]`},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -756,7 +719,7 @@ var runPipelineLoopWithInDictParams = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoopWithInStringParams = &v1alpha1.Run{
+var runPipelineLoopWithInStringParams = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -771,15 +734,15 @@ var runPipelineLoopWithInStringParams = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `["item1", "item2"]`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `["item1", "item2"]`},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -787,7 +750,7 @@ var runPipelineLoopWithInStringParams = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoopWithInStringSeparatorParams = &v1alpha1.Run{
+var runPipelineLoopWithInStringSeparatorParams = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -802,18 +765,18 @@ var runPipelineLoopWithInStringSeparatorParams = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1|item2"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1|item2"},
 		}, {
 			Name:  "separator",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "|"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "|"},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -821,7 +784,7 @@ var runPipelineLoopWithInStringSeparatorParams = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoopWithSpaceSeparatorParams = &v1alpha1.Run{
+var runPipelineLoopWithSpaceSeparatorParams = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -836,18 +799,18 @@ var runPipelineLoopWithSpaceSeparatorParams = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1 item2"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1 item2"},
 		}, {
 			Name:  "separator",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: " "},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: " "},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -855,7 +818,7 @@ var runPipelineLoopWithSpaceSeparatorParams = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoopWithSpaceParam = &v1alpha1.Run{
+var runPipelineLoopWithSpaceParam = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -870,18 +833,18 @@ var runPipelineLoopWithSpaceParam = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: " "},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: " "},
 		}, {
 			Name:  "separator",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: ","},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: ","},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -889,7 +852,7 @@ var runPipelineLoopWithSpaceParam = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoopWithDefaultSeparatorParams = &v1alpha1.Run{
+var runPipelineLoopWithDefaultSeparatorParams = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -904,15 +867,15 @@ var runPipelineLoopWithDefaultSeparatorParams = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1,item2"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1,item2"},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -920,23 +883,23 @@ var runPipelineLoopWithDefaultSeparatorParams = &v1alpha1.Run{
 	},
 }
 
-func specifyLoopRange(from, to, step string, r *v1alpha1.Run) *v1alpha1.Run {
+func specifyLoopRange(from, to, step string, r *tektonv1beta1.CustomRun) *tektonv1beta1.CustomRun {
 	t := r.DeepCopy()
 	for n, i := range r.Spec.Params {
 		if i.Name == "from" {
-			t.Spec.Params[n].Value = v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: from}
+			t.Spec.Params[n].Value = tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: from}
 		}
 		if i.Name == "to" {
-			t.Spec.Params[n].Value = v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: to}
+			t.Spec.Params[n].Value = tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: to}
 		}
 		if i.Name == "step" {
-			t.Spec.Params[n].Value = v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: step}
+			t.Spec.Params[n].Value = tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: step}
 		}
 	}
 	return t
 }
 
-var runPipelineLoopWithIterateNumeric = &v1alpha1.Run{
+var runPipelineLoopWithIterateNumeric = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -951,21 +914,21 @@ var runPipelineLoopWithIterateNumeric = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "from",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `1`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `1`},
 		}, {
 			Name:  "step",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `1`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `1`},
 		}, {
 			Name:  "to",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `3`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `3`},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "n-pipelineloop",
@@ -973,7 +936,7 @@ var runPipelineLoopWithIterateNumeric = &v1alpha1.Run{
 	},
 }
 
-var runPipelineLoopWithInlineTask = &v1alpha1.Run{
+var runPipelineLoopWithInlineTask = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-with-inline-task",
 		Namespace: "foo",
@@ -984,15 +947,15 @@ var runPipelineLoopWithInlineTask = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop-with-inline-task",
@@ -1000,13 +963,13 @@ var runPipelineLoopWithInlineTask = &v1alpha1.Run{
 	},
 }
 
-var runWithMissingPipelineLoopName = &v1alpha1.Run{
+var runWithMissingPipelineLoopName = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "bad-run-pipelineloop-missing",
 		Namespace: "foo",
 	},
-	Spec: v1alpha1.RunSpec{
-		Ref: &v1beta1.TaskRef{
+	Spec: tektonv1beta1.CustomRunSpec{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			// missing Name
@@ -1014,13 +977,13 @@ var runWithMissingPipelineLoopName = &v1alpha1.Run{
 	},
 }
 
-var runWithNonexistentPipelineLoop = &v1alpha1.Run{
+var runWithNonexistentPipelineLoop = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "bad-run-pipelineloop-not-found",
 		Namespace: "foo",
 	},
-	Spec: v1alpha1.RunSpec{
-		Ref: &v1beta1.TaskRef{
+	Spec: tektonv1beta1.CustomRunSpec{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "no-such-pipelineloop",
@@ -1028,27 +991,27 @@ var runWithNonexistentPipelineLoop = &v1alpha1.Run{
 	},
 }
 
-var runWithInvalidRange = &v1alpha1.Run{
+var runWithInvalidRange = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-invalid-range",
 		Namespace: "foo",
 	},
-	Spec: v1alpha1.RunSpec{
+	Spec: tektonv1beta1.CustomRunSpec{
 		// current-item, which is the iterate parameter, is missing from parameters
-		Params: []v1beta1.Param{{
+		Params: []tektonv1beta1.Param{{
 			Name:  "from",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `-11`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `-11`},
 		}, {
 			Name:  "step",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `1`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `1`},
 		}, {
 			Name:  "to",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: `-13`},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: `-13`},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -1056,21 +1019,21 @@ var runWithInvalidRange = &v1alpha1.Run{
 	},
 }
 
-var runWithIterateParamNotAnArray = &v1alpha1.Run{
+var runWithIterateParamNotAnArray = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "bad-run-iterate-param-not-an-array",
 		Namespace: "foo",
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			// Value of iteration parameter must be an array so this is an error.
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -1078,7 +1041,7 @@ var runWithIterateParamNotAnArray = &v1alpha1.Run{
 	},
 }
 
-var expectedPipelineRunIterationDict = &v1beta1.PipelineRun{
+var expectedPipelineRunIterationDict = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1102,22 +1065,22 @@ var expectedPipelineRunIterationDict = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": "{\"a\":1,\"b\":2}",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item-subvar-a",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "1"},
 		}, {
 			Name:  "current-item-subvar-b",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "2"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "2"},
 		}},
 	},
 }
 
-var expectedParaPipelineRun = &v1beta1.PipelineRun{
+var expectedParaPipelineRun = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1141,19 +1104,19 @@ var expectedParaPipelineRun = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "para-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "para-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 	},
 }
 
-var expectedParaPipelineRun1 = &v1beta1.PipelineRun{
+var expectedParaPipelineRun1 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00002-mz4c7",
 		Namespace: "foo",
@@ -1177,19 +1140,19 @@ var expectedParaPipelineRun1 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item2"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "para-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "para-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item2"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item2"},
 		}},
 	},
 }
 
-var expectedPipelineRunIteration1 = &v1beta1.PipelineRun{
+var expectedPipelineRunIteration1 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1213,19 +1176,19 @@ var expectedPipelineRunIteration1 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 	},
 }
 
-var expectedPipelineRunIterationEmptySpace = &v1beta1.PipelineRun{
+var expectedPipelineRunIterationEmptySpace = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1249,19 +1212,19 @@ var expectedPipelineRunIterationEmptySpace = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `" item1 "`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: " item1 "},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: " item1 "},
 		}},
 	},
 }
 
-var expectedPipelineRunIterationWithWhiteSpace = &v1beta1.PipelineRun{
+var expectedPipelineRunIterationWithWhiteSpace = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1285,19 +1248,19 @@ var expectedPipelineRunIterationWithWhiteSpace = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `" "`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: " "},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: " "},
 		}},
 	},
 }
 
-var expectedPipelineRunFailed = &v1beta1.PipelineRun{
+var expectedPipelineRunFailed = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-failed",
 		Namespace: "foo",
@@ -1321,19 +1284,19 @@ var expectedPipelineRunFailed = &v1beta1.PipelineRun{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 	},
 }
 
-var expectedPipelineRunRetry = &v1beta1.PipelineRun{
+var expectedPipelineRunRetry = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1357,19 +1320,19 @@ var expectedPipelineRunRetry = &v1beta1.PipelineRun{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 	},
 }
 
-var expectedPipelineRunIterateNumeric1 = &v1beta1.PipelineRun{
+var expectedPipelineRunIterateNumeric1 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1393,19 +1356,19 @@ var expectedPipelineRunIterateNumeric1 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": "1",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "n-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "n-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "iteration",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "1"},
 		}},
 	},
 }
 
-var expectedPipelineRunIterateNumeric2 = &v1beta1.PipelineRun{
+var expectedPipelineRunIterateNumeric2 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1429,19 +1392,19 @@ var expectedPipelineRunIterateNumeric2 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": "-10",
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "n-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "n-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "iteration",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "-10"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "-10"},
 		}},
 	},
 }
 
-var expectedPipelineRunIterateNumericParam = &v1beta1.PipelineRun{
+var expectedPipelineRunIterateNumericParam = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1465,20 +1428,20 @@ var expectedPipelineRunIterateNumericParam = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "1"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 	},
 }
 
 // Note: The pipelinerun for the second iteration has the same random suffix as the first due to the resetting of the seed on each test.
-var expectedPipelineRunIteration2 = &v1beta1.PipelineRun{
+var expectedPipelineRunIteration2 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00002-9l9zj",
 		Namespace: "foo",
@@ -1502,19 +1465,19 @@ var expectedPipelineRunIteration2 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item2"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item2"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item2"},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
 	},
 }
 
-var expectedPipelineRunWithWorkSpace = &v1beta1.PipelineRun{
+var expectedPipelineRunWithWorkSpace = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-ws-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1538,18 +1501,18 @@ var expectedPipelineRunWithWorkSpace = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{
 			Name: "a-pipeline",
 		},
-		Params: []v1beta1.Param{{
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
-		Workspaces: []v1beta1.WorkspaceBinding{{
+		Workspaces: []tektonv1beta1.WorkspaceBinding{{
 			Name: "test",
 			ConfigMap: &corev1.ConfigMapVolumeSource{
 				LocalObjectReference: corev1.LocalObjectReference{Name: "test"},
@@ -1559,50 +1522,7 @@ var expectedPipelineRunWithWorkSpace = &v1beta1.PipelineRun{
 	},
 }
 
-var expectedPipelineRunWithPodTemplateAndSA = &v1beta1.PipelineRun{
-	ObjectMeta: metav1.ObjectMeta{
-		Name:      "run-a-pipelineloop-00001-9l9zj",
-		Namespace: "foo",
-		OwnerReferences: []metav1.OwnerReference{{
-			APIVersion:         "tekton.dev/v1alpha1",
-			Kind:               "Run",
-			Name:               "run-a-pipelineloop",
-			Controller:         &trueB,
-			BlockOwnerDeletion: &trueB,
-		}},
-		Labels: map[string]string{
-			"custom.tekton.dev/originalPipelineRun":   "pr-loop-example",
-			"custom.tekton.dev/parentPipelineRun":     "pr-loop-example",
-			"custom.tekton.dev/pipelineLoop":          "a-pipelineloop",
-			"tekton.dev/run":                          "run-a-pipelineloop",
-			"custom.tekton.dev/pipelineLoopIteration": "1",
-			"myTestLabel":                             "myTestLabelValue",
-		},
-		Annotations: map[string]string{
-			"myTestAnnotation": "myTestAnnotationValue",
-			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
-		},
-	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{
-			Name: "a-pipeline",
-		},
-		Params: []v1beta1.Param{{
-			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
-		}},
-		ServiceAccountName: "pipeline-runner",
-		PodTemplate: &pod.PodTemplate{
-			HostAliases: []corev1.HostAlias{{
-				IP:        "0.0.0.0",
-				Hostnames: []string{"localhost"},
-			}},
-			HostNetwork: true,
-		},
-	},
-}
-
-var expectedPipelineRunWithPodTemplate = &v1beta1.PipelineRun{
+var expectedPipelineRunWithPodTemplate = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-new-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1626,13 +1546,13 @@ var expectedPipelineRunWithPodTemplate = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{
 			Name: "a-pipeline",
 		},
-		Params: []v1beta1.Param{{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 		ServiceAccountName: "default",
 		PodTemplate: &pod.PodTemplate{
@@ -1642,7 +1562,7 @@ var expectedPipelineRunWithPodTemplate = &v1beta1.PipelineRun{
 			}},
 			HostNetwork: true,
 		},
-		TaskRunSpecs: []v1beta1.PipelineTaskRunSpec{{
+		TaskRunSpecs: []tektonv1beta1.PipelineTaskRunSpec{{
 			PipelineTaskName:       "test-task",
 			TaskServiceAccountName: "test",
 			TaskPodTemplate: &pod.PodTemplate{
@@ -1656,7 +1576,7 @@ var expectedPipelineRunWithPodTemplate = &v1beta1.PipelineRun{
 	},
 }
 
-var expectedPipelineRunWithInlineTaskIteration1 = &v1beta1.PipelineRun{
+var expectedPipelineRunWithInlineTaskIteration1 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-with-inline-task-00001-9l9zj",
 		Namespace: "foo",
@@ -1680,37 +1600,37 @@ var expectedPipelineRunWithInlineTaskIteration1 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineSpec: &v1beta1.PipelineSpec{
-			Tasks: []v1beta1.PipelineTask{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineSpec: &tektonv1beta1.PipelineSpec{
+			Tasks: []tektonv1beta1.PipelineTask{{
 				Name: "mytask",
-				TaskSpec: &v1beta1.EmbeddedTask{
-					TaskSpec: v1beta1.TaskSpec{
-						Params: []v1beta1.ParamSpec{{
+				TaskSpec: &tektonv1beta1.EmbeddedTask{
+					TaskSpec: tektonv1beta1.TaskSpec{
+						Params: []tektonv1beta1.ParamSpec{{
 							Name: "additional-parameter",
-							Type: v1beta1.ParamTypeString,
+							Type: tektonv1beta1.ParamTypeString,
 						}, {
 							Name: "current-item",
-							Type: v1beta1.ParamTypeString,
+							Type: tektonv1beta1.ParamTypeString,
 						}},
-						Steps: []v1beta1.Step{{
+						Steps: []tektonv1beta1.Step{{
 							Name: "foo", Image: "bar",
 						}},
 					},
 				},
 			}},
 		},
-		Params: []v1beta1.Param{{
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 		Timeout: &metav1.Duration{Duration: 5 * time.Minute},
 	},
 }
-var expectedNestedPipelineRun = &v1beta1.PipelineRun{
+var expectedNestedPipelineRun = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "nested-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1734,19 +1654,19 @@ var expectedNestedPipelineRun = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
+	Spec: tektonv1beta1.PipelineRunSpec{
 		PipelineSpec: &setPipelineNestedStackDepth(nestedPipeline, 29).Spec,
-		Params: []v1beta1.Param{{
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 	},
 }
 
-var conditionRunPipelineLoop = &v1alpha1.Run{
+var conditionRunPipelineLoop = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -1758,15 +1678,15 @@ var conditionRunPipelineLoop = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeArray, ArrayVal: []string{"item1", "item2"}},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -1774,7 +1694,7 @@ var conditionRunPipelineLoop = &v1alpha1.Run{
 	},
 }
 
-var expectedConditionPipelineRunIteration1 = &v1beta1.PipelineRun{
+var expectedConditionPipelineRunIteration1 = &tektonv1beta1.PipelineRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop-00001-9l9zj",
 		Namespace: "foo",
@@ -1799,19 +1719,19 @@ var expectedConditionPipelineRunIteration1 = &v1beta1.PipelineRun{
 			"custom.tekton.dev/pipelineLoopCurrentIterationItem": `"item1"`,
 		},
 	},
-	Spec: v1beta1.PipelineRunSpec{
-		PipelineRef: &v1beta1.PipelineRef{Name: "a-pipeline"},
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.PipelineRunSpec{
+		PipelineRef: &tektonv1beta1.PipelineRef{Name: "a-pipeline"},
+		Params: []tektonv1beta1.Param{{
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}, {
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "item1"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "item1"},
 		}},
 	},
 }
 
-var runPipelineLoopWithInStringSeparatorEmptySpaceParams = &v1alpha1.Run{
+var runPipelineLoopWithInStringSeparatorEmptySpaceParams = &tektonv1beta1.CustomRun{
 	ObjectMeta: metav1.ObjectMeta{
 		Name:      "run-pipelineloop",
 		Namespace: "foo",
@@ -1826,18 +1746,18 @@ var runPipelineLoopWithInStringSeparatorEmptySpaceParams = &v1alpha1.Run{
 			"myTestAnnotation": "myTestAnnotationValue",
 		},
 	},
-	Spec: v1alpha1.RunSpec{
-		Params: []v1beta1.Param{{
+	Spec: tektonv1beta1.CustomRunSpec{
+		Params: []tektonv1beta1.Param{{
 			Name:  "current-item",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: " item1 | item2 "},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: " item1 | item2 "},
 		}, {
 			Name:  "separator",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "|"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "|"},
 		}, {
 			Name:  "additional-parameter",
-			Value: v1beta1.ArrayOrString{Type: v1beta1.ParamTypeString, StringVal: "stuff"},
+			Value: tektonv1beta1.ArrayOrString{Type: tektonv1beta1.ParamTypeString, StringVal: "stuff"},
 		}},
-		Ref: &v1beta1.TaskRef{
+		CustomRef: &tektonv1beta1.TaskRef{
 			APIVersion: pipelineloopv1alpha1.SchemeGroupVersion.String(),
 			Kind:       pipelineloop.PipelineLoopControllerName,
 			Name:       "a-pipelineloop",
@@ -1849,231 +1769,221 @@ func TestReconcilePipelineLoopRun(t *testing.T) {
 
 	testcases := []struct {
 		name                 string
-		pipeline             *v1beta1.Pipeline
+		pipeline             *tektonv1beta1.Pipeline
 		pipelineloop         *pipelineloopv1alpha1.PipelineLoop
-		run                  *v1alpha1.Run
-		pipelineruns         []*v1beta1.PipelineRun
+		run                  *tektonv1beta1.CustomRun
+		pipelineruns         []*tektonv1beta1.PipelineRun
 		expectedStatus       corev1.ConditionStatus
 		expectedReason       pipelineloopv1alpha1.PipelineLoopRunReason
-		expectedPipelineruns []*v1beta1.PipelineRun
+		expectedPipelineruns []*tektonv1beta1.PipelineRun
 		expectedEvents       []string
 	}{{
 		name:                 "Reconcile a new run with a pipelineloop that references a pipeline",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoop,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIteration1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIteration1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop and a dict params",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoopWithInDictParams,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIterationDict},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIterationDict},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop and a string params",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoopWithInStringParams,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIteration1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIteration1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop and a string params with separator",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoopWithInStringSeparatorParams,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIteration1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIteration1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop and an empty space string params with separator",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoopWithInStringSeparatorEmptySpaceParams,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIterationEmptySpace},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIterationEmptySpace},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop and a string params with whitespace separator",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoopWithSpaceSeparatorParams,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIteration1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIteration1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with iterateNumeric defined",
 		pipeline:             nPipeline,
 		pipelineloop:         nPipelineLoop,
 		run:                  runPipelineLoopWithIterateNumeric,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIterateNumeric1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIterateNumeric1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with -ve numeric range defined",
 		pipeline:             nPipeline,
 		pipelineloop:         nPipelineLoop,
 		run:                  specifyLoopRange("-10", "-15", "-1", runPipelineLoopWithIterateNumeric),
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIterateNumeric2},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIterateNumeric2},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with iterationNumberParam defined",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop2,
 		run:                  runPipelineLoop2,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIterateNumericParam},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIterateNumericParam},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop that contains an inline task",
 		pipelineloop:         aPipelineLoopWithInlineTask,
 		run:                  runPipelineLoopWithInlineTask,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithInlineTaskIteration1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithInlineTaskIteration1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop that contains a workspace",
 		pipeline:             aPipeline,
 		pipelineloop:         wsPipelineLoop,
 		run:                  runWsPipelineLoop,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithWorkSpace},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithWorkSpace},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a run after all PipelineRuns have succeeded",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  loopRunning(runPipelineLoop),
-		pipelineruns:         []*v1beta1.PipelineRun{successful(expectedPipelineRunIteration1), successful(expectedPipelineRunIteration2)},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{successful(expectedPipelineRunIteration1), successful(expectedPipelineRunIteration2)},
 		expectedStatus:       corev1.ConditionTrue,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded,
-		expectedPipelineruns: []*v1beta1.PipelineRun{successful(expectedPipelineRunIteration1), successful(expectedPipelineRunIteration2)},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{successful(expectedPipelineRunIteration1), successful(expectedPipelineRunIteration2)},
 		expectedEvents:       []string{"Normal Succeeded All PipelineRuns completed successfully"},
 	}, {
 		name:                 "Reconcile a run after the first PipelineRun has failed",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  loopRunning(runPipelineLoop),
-		pipelineruns:         []*v1beta1.PipelineRun{failed(expectedPipelineRunIteration1)},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{failed(expectedPipelineRunIteration1)},
 		expectedStatus:       corev1.ConditionFalse,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailed,
-		expectedPipelineruns: []*v1beta1.PipelineRun{failed(expectedPipelineRunIteration1)},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{failed(expectedPipelineRunIteration1)},
 		expectedEvents:       []string{"Warning Failed PipelineRun " + expectedPipelineRunIteration1.Name + " has failed"},
 	}, {
 		name:                 "Reconcile a run with retries after the first PipelineRun has failed",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  loopRunning(setRetries(runPipelineLoop, 1)),
-		pipelineruns:         []*v1beta1.PipelineRun{failed(expectedPipelineRunFailed)},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{failed(expectedPipelineRunFailed)},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{setDeleted(failed(expectedPipelineRunFailed)), expectedPipelineRunRetry},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{setDeleted(failed(expectedPipelineRunFailed)), expectedPipelineRunRetry},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop with Parallelism specified",
 		pipeline:             paraPipeline,
 		pipelineloop:         paraPipelineLoop,
 		run:                  paraRunPipelineLoop,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedParaPipelineRun, expectedParaPipelineRun1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedParaPipelineRun, expectedParaPipelineRun1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a nested pipelineloop",
 		pipeline:             nestedPipeline,
 		pipelineloop:         nestedPipelineLoop,
 		run:                  runNestedPipelineLoop,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedNestedPipelineRun},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedNestedPipelineRun},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a recursive pipelineloop with max nested stack depth 0",
 		pipeline:             setPipelineNestedStackDepth(nestedPipeline, 0),
 		pipelineloop:         setPipelineLoopNestedStackDepth(nestedPipelineLoop, 0),
 		run:                  setRunNestedStackDepth(runNestedPipelineLoop, 0),
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionFalse,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonStackLimitExceeded,
-		expectedPipelineruns: []*v1beta1.PipelineRun{},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{},
 		expectedEvents:       []string{"Normal Started ", "Warning Failed nested stack depth limit reached."},
 	}, {
 		name:                 "Reconcile a run with condition pipelinerun, and the first PipelineRun condition check failed",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  loopRunning(conditionRunPipelineLoop),
-		pipelineruns:         []*v1beta1.PipelineRun{successfulWithSkipedTasks(expectedConditionPipelineRunIteration1)},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{successfulWithSkipedTasks(expectedConditionPipelineRunIteration1)},
 		expectedStatus:       corev1.ConditionTrue,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded,
-		expectedPipelineruns: []*v1beta1.PipelineRun{successfulWithSkipedTasks(expectedConditionPipelineRunIteration1)},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{successfulWithSkipedTasks(expectedConditionPipelineRunIteration1)},
 		expectedEvents:       []string{"Normal Succeeded PipelineRuns completed successfully with the conditions are met"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop that contains a PodTemplate, ServiceAccountName, TaskRunSpecs",
 		pipeline:             aPipeline,
 		pipelineloop:         newPipelineLoop,
 		run:                  runNewPipelineLoop,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithPodTemplate},
-		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
-	}, {
-		name:                 "Reconcile a new run that contains a PodTemplate, ServiceAccountName",
-		pipeline:             aPipeline,
-		pipelineloop:         aPipelineLoop,
-		run:                  runNewPipelineLoopWithPodTemplateAndSA,
-		pipelineruns:         []*v1beta1.PipelineRun{},
-		expectedStatus:       corev1.ConditionUnknown,
-		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunWithPodTemplateAndSA},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunWithPodTemplate},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop and a string params without separator",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoopWithDefaultSeparatorParams,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIteration1},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIteration1},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	}, {
 		name:                 "Reconcile a new run with a pipelineloop and a string params without separator",
 		pipeline:             aPipeline,
 		pipelineloop:         aPipelineLoop,
 		run:                  runPipelineLoopWithSpaceParam,
-		pipelineruns:         []*v1beta1.PipelineRun{},
+		pipelineruns:         []*tektonv1beta1.PipelineRun{},
 		expectedStatus:       corev1.ConditionUnknown,
 		expectedReason:       pipelineloopv1alpha1.PipelineLoopRunReasonRunning,
-		expectedPipelineruns: []*v1beta1.PipelineRun{expectedPipelineRunIterationWithWhiteSpace},
+		expectedPipelineruns: []*tektonv1beta1.PipelineRun{expectedPipelineRunIterationWithWhiteSpace},
 		expectedEvents:       []string{"Normal Started", "Normal Running Iterations completed: 0"},
 	},
 	}
@@ -2083,13 +1993,13 @@ func TestReconcilePipelineLoopRun(t *testing.T) {
 			ctx := context.Background()
 			names.TestingSeed()
 
-			optionalPipeline := []*v1beta1.Pipeline{tc.pipeline}
+			optionalPipeline := []*tektonv1beta1.Pipeline{tc.pipeline}
 			if tc.pipeline == nil {
 				optionalPipeline = nil
 			}
 
 			d := test.Data{
-				Runs:         []*v1alpha1.Run{tc.run},
+				CustomRuns:   []*tektonv1beta1.CustomRun{tc.run},
 				Pipelines:    optionalPipeline,
 				PipelineRuns: tc.pipelineruns,
 			}
@@ -2103,7 +2013,7 @@ func TestReconcilePipelineLoopRun(t *testing.T) {
 			}
 
 			// Fetch the updated Run
-			reconciledRun, err := clients.Pipeline.TektonV1alpha1().Runs(tc.run.Namespace).Get(ctx, tc.run.Name, metav1.GetOptions{})
+			reconciledRun, err := clients.Pipeline.TektonV1beta1().CustomRuns(tc.run.Namespace).Get(ctx, tc.run.Name, metav1.GetOptions{})
 			if err != nil {
 				t.Fatalf("Error getting reconciled run from fake client: %s", err)
 			}
@@ -2148,7 +2058,7 @@ func TestReconcilePipelineLoopRun(t *testing.T) {
 				if len(createdPipelineruns) == 0 {
 					t.Errorf("A PipelineRun should have been created but was not")
 				} else {
-					pipelineRunsExpectedToBeCreated := make([]*v1beta1.PipelineRun, len(createdPipelineruns))
+					pipelineRunsExpectedToBeCreated := make([]*tektonv1beta1.PipelineRun, len(createdPipelineruns))
 					i := 0
 					for _, pr := range tc.expectedPipelineruns {
 						if pr.Labels["deleted"] != "True" {
@@ -2191,21 +2101,21 @@ func TestReconcilePipelineLoopRunFailures(t *testing.T) {
 	testcases := []struct {
 		name         string
 		pipelineloop *pipelineloopv1alpha1.PipelineLoop
-		run          *v1alpha1.Run
+		customRun    *tektonv1beta1.CustomRun
 		reason       pipelineloopv1alpha1.PipelineLoopRunReason
 		wantEvents   []string
 	}{{
-		name:   "missing PipelineLoop name",
-		run:    runWithMissingPipelineLoopName,
-		reason: pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop,
+		name:      "missing PipelineLoop name",
+		customRun: runWithMissingPipelineLoopName,
+		reason:    pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop,
 		wantEvents: []string{
 			"Normal Started ",
 			"Warning Failed Missing spec.ref.name for Run",
 		},
 	}, {
-		name:   "nonexistent PipelineLoop",
-		run:    runWithNonexistentPipelineLoop,
-		reason: pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop,
+		name:      "nonexistent PipelineLoop",
+		customRun: runWithNonexistentPipelineLoop,
+		reason:    pipelineloopv1alpha1.PipelineLoopRunReasonCouldntGetPipelineLoop,
 		wantEvents: []string{
 			"Normal Started ",
 			"Warning Failed Error retrieving PipelineLoop",
@@ -2213,7 +2123,7 @@ func TestReconcilePipelineLoopRunFailures(t *testing.T) {
 	}, {
 		name:         "invalid range",
 		pipelineloop: aPipelineLoop,
-		run:          runWithInvalidRange,
+		customRun:    runWithInvalidRange,
 		reason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation,
 		wantEvents: []string{
 			"Normal Started ",
@@ -2222,7 +2132,7 @@ func TestReconcilePipelineLoopRunFailures(t *testing.T) {
 	}, {
 		name:         "invalid range 2",
 		pipelineloop: aPipelineLoop,
-		run:          specifyLoopRange("10", "12", "-1", runWithInvalidRange),
+		customRun:    specifyLoopRange("10", "12", "-1", runWithInvalidRange),
 		reason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation,
 		wantEvents: []string{
 			"Normal Started ",
@@ -2231,7 +2141,7 @@ func TestReconcilePipelineLoopRunFailures(t *testing.T) {
 	}, {
 		name:         "iterate parameter not an array",
 		pipelineloop: aPipelineLoop,
-		run:          runWithIterateParamNotAnArray,
+		customRun:    runWithIterateParamNotAnArray,
 		reason:       pipelineloopv1alpha1.PipelineLoopRunReasonFailedValidation,
 		wantEvents: []string{
 			"Normal Started ",
@@ -2244,7 +2154,7 @@ func TestReconcilePipelineLoopRunFailures(t *testing.T) {
 			ctx := context.Background()
 
 			d := test.Data{
-				Runs: []*v1alpha1.Run{tc.run},
+				CustomRuns: []*tektonv1beta1.CustomRun{tc.customRun},
 			}
 
 			optionalPipelineLoop := []*pipelineloopv1alpha1.PipelineLoop{tc.pipelineloop}
@@ -2256,12 +2166,12 @@ func TestReconcilePipelineLoopRunFailures(t *testing.T) {
 			c := testAssets.Controller
 			clients := testAssets.Clients
 
-			if err := c.Reconciler.Reconcile(ctx, getRunName(tc.run)); err != nil {
+			if err := c.Reconciler.Reconcile(ctx, getRunName(tc.customRun)); err != nil {
 				t.Fatalf("Error reconciling: %s", err)
 			}
 
 			// Fetch the updated Run
-			reconciledRun, err := clients.Pipeline.TektonV1alpha1().Runs(tc.run.Namespace).Get(ctx, tc.run.Name, metav1.GetOptions{})
+			reconciledRun, err := clients.Pipeline.TektonV1beta1().CustomRuns(tc.customRun.Namespace).Get(ctx, tc.customRun.Name, metav1.GetOptions{})
 			if err != nil {
 				t.Fatalf("Error getting reconciled run from fake client: %s", err)
 			}
@@ -2282,22 +2192,22 @@ func TestReconcilePipelineLoopRunFailures(t *testing.T) {
 	}
 }
 
-func enableCacheForRun(run *v1alpha1.Run) *v1alpha1.Run {
+func enableCacheForRun(run *tektonv1beta1.CustomRun) *tektonv1beta1.CustomRun {
 	run.ObjectMeta.Labels["pipelines.kubeflow.org/cache_enabled"] = "true"
 	return run
 }
 
-func disableCacheForRun(run *v1alpha1.Run) *v1alpha1.Run {
+func disableCacheForRun(run *tektonv1beta1.CustomRun) *tektonv1beta1.CustomRun {
 	run.ObjectMeta.Labels["pipelines.kubeflow.org/cache_enabled"] = "false"
 	return run
 }
 
-func enableCacheForPr(pr *v1beta1.PipelineRun) *v1beta1.PipelineRun {
+func enableCacheForPr(pr *tektonv1beta1.PipelineRun) *tektonv1beta1.PipelineRun {
 	pr.ObjectMeta.Labels["pipelines.kubeflow.org/cache_enabled"] = "true"
 	return pr
 }
 
-func disableCacheForPr(pr *v1beta1.PipelineRun) *v1beta1.PipelineRun {
+func disableCacheForPr(pr *tektonv1beta1.PipelineRun) *tektonv1beta1.PipelineRun {
 	pr.ObjectMeta.Labels["pipelines.kubeflow.org/cache_enabled"] = "false"
 	return pr
 }
@@ -2305,10 +2215,10 @@ func disableCacheForPr(pr *v1beta1.PipelineRun) *v1beta1.PipelineRun {
 func TestReconcilePipelineLoopRunCachedRun(t *testing.T) {
 	testcases := []struct {
 		name           string
-		pipeline       *v1beta1.Pipeline
+		pipeline       *tektonv1beta1.Pipeline
 		pipelineloop   *pipelineloopv1alpha1.PipelineLoop
-		run            *v1alpha1.Run
-		pipelineruns   []*v1beta1.PipelineRun
+		run            *tektonv1beta1.CustomRun
+		pipelineruns   []*tektonv1beta1.PipelineRun
 		expectedStatus corev1.ConditionStatus
 		expectedReason pipelineloopv1alpha1.PipelineLoopRunReason
 		expectedEvents []string
@@ -2317,7 +2227,7 @@ func TestReconcilePipelineLoopRunCachedRun(t *testing.T) {
 		pipeline:       aPipeline,
 		pipelineloop:   aPipelineLoop,
 		run:            enableCacheForRun(loopSucceeded(runPipelineLoop)),
-		pipelineruns:   []*v1beta1.PipelineRun{successful(enableCacheForPr(expectedPipelineRunIteration1)), successful(enableCacheForPr(expectedPipelineRunIteration2))},
+		pipelineruns:   []*tektonv1beta1.PipelineRun{successful(enableCacheForPr(expectedPipelineRunIteration1)), successful(enableCacheForPr(expectedPipelineRunIteration2))},
 		expectedStatus: corev1.ConditionTrue,
 		expectedReason: pipelineloopv1alpha1.PipelineLoopRunReasonSucceeded,
 		expectedEvents: []string{},
@@ -2334,7 +2244,7 @@ func TestReconcilePipelineLoopRunCachedRun(t *testing.T) {
 		t.Run(tc.name, func(t *testing.T) {
 			ctx := context.Background()
 			names.TestingSeed()
-			optionalPipeline := []*v1beta1.Pipeline{tc.pipeline}
+			optionalPipeline := []*tektonv1beta1.Pipeline{tc.pipeline}
 			status := &pipelineloopv1alpha1.PipelineLoopRunStatus{}
 			tc.pipelineloop.Spec.SetDefaults(ctx)
 			status.PipelineLoopSpec = &tc.pipelineloop.Spec
@@ -2353,7 +2263,7 @@ func TestReconcilePipelineLoopRunCachedRun(t *testing.T) {
 				Data: map[string]string{"driver": "sqlite", "dbName": "/tmp/testing2.db", "timeout": "2s"},
 			}
 			d := test.Data{
-				Runs:         []*v1alpha1.Run{tc.run},
+				CustomRuns:   []*tektonv1beta1.CustomRun{tc.run},
 				Pipelines:    optionalPipeline,
 				PipelineRuns: tc.pipelineruns,
 				ConfigMaps:   []*corev1.ConfigMap{&cm},
@@ -2367,7 +2277,7 @@ func TestReconcilePipelineLoopRunCachedRun(t *testing.T) {
 				t.Fatalf("Error reconciling: %s", err)
 			}
 			// Fetch the updated Run
-			reconciledRun, err := clients.Pipeline.TektonV1alpha1().Runs(tc.run.Namespace).Get(ctx, tc.run.Name, metav1.GetOptions{})
+			reconciledRun, err := clients.Pipeline.TektonV1beta1().CustomRuns(tc.run.Namespace).Get(ctx, tc.run.Name, metav1.GetOptions{})
 			if err != nil {
 				t.Fatalf("Error getting reconciled run from fake client: %s", err)
 			}
@@ -2380,7 +2290,7 @@ func TestReconcilePipelineLoopRunCachedRun(t *testing.T) {
 		})
 	}
 }
-func checkRunResult(t *testing.T, run *v1alpha1.Run, expectedResult []v1alpha1.RunResult) {
+func checkRunResult(t *testing.T, run *tektonv1beta1.CustomRun, expectedResult []tektonv1beta1.CustomRunResult) {
 	if len(run.Status.Results) != len(expectedResult) {
 		t.Errorf("Expected Run results to include %d results but found %d: %v", len(expectedResult), len(run.Status.Results), run.Status.Results)
 		//return
@@ -2394,28 +2304,28 @@ func checkRunResult(t *testing.T, run *v1alpha1.Run, expectedResult []v1alpha1.R
 func TestReconcilePipelineLoopRunLastElemResult(t *testing.T) {
 	testcases := []struct {
 		name           string
-		pipeline       *v1beta1.Pipeline
+		pipeline       *tektonv1beta1.Pipeline
 		pipelineloop   *pipelineloopv1alpha1.PipelineLoop
-		run            *v1alpha1.Run
-		pipelineruns   []*v1beta1.PipelineRun
-		expectedResult []v1alpha1.RunResult
+		customRun      *tektonv1beta1.CustomRun
+		pipelineruns   []*tektonv1beta1.PipelineRun
+		expectedResult []tektonv1beta1.CustomRunResult
 	}{{
 		name:           "Reconcile a new run with a pipelineloop that references a pipeline",
 		pipeline:       aPipeline,
 		pipelineloop:   aPipelineLoop,
-		run:            disableCacheForRun(runPipelineLoop),
-		pipelineruns:   []*v1beta1.PipelineRun{disableCacheForPr(successful(expectedPipelineRunIteration1)), disableCacheForPr(successful(expectedPipelineRunIteration2))},
-		expectedResult: []v1alpha1.RunResult{{Name: "last-idx", Value: "2"}, {Name: "last-elem", Value: "item2"}, {Name: "condition", Value: "succeeded"}},
+		customRun:      disableCacheForRun(runPipelineLoop),
+		pipelineruns:   []*tektonv1beta1.PipelineRun{disableCacheForPr(successful(expectedPipelineRunIteration1)), disableCacheForPr(successful(expectedPipelineRunIteration2))},
+		expectedResult: []tektonv1beta1.CustomRunResult{{Name: "last-idx", Value: "2"}, {Name: "last-elem", Value: "item2"}, {Name: "condition", Value: "succeeded"}},
 	}}
 	for _, tc := range testcases {
 		t.Run(tc.name, func(t *testing.T) {
 			ctx := context.Background()
 			names.TestingSeed()
-			optionalPipeline := []*v1beta1.Pipeline{tc.pipeline}
+			optionalPipeline := []*tektonv1beta1.Pipeline{tc.pipeline}
 			status := &pipelineloopv1alpha1.PipelineLoopRunStatus{}
 			tc.pipelineloop.Spec.SetDefaults(ctx)
 			status.PipelineLoopSpec = &tc.pipelineloop.Spec
-			err := tc.run.Status.EncodeExtraFields(status)
+			err := tc.customRun.Status.EncodeExtraFields(status)
 			if err != nil {
 				t.Fatal("Failed to encode spec in the pipelineSpec:", err)
 			}
@@ -2424,7 +2334,7 @@ func TestReconcilePipelineLoopRunLastElemResult(t *testing.T) {
 			}
 
 			d := test.Data{
-				Runs:         []*v1alpha1.Run{tc.run},
+				CustomRuns:   []*tektonv1beta1.CustomRun{tc.customRun},
 				Pipelines:    optionalPipeline,
 				PipelineRuns: tc.pipelineruns,
 			}
@@ -2433,11 +2343,11 @@ func TestReconcilePipelineLoopRunLastElemResult(t *testing.T) {
 			c := testAssets.Controller
 			clients := testAssets.Clients
 
-			if err := c.Reconciler.Reconcile(ctx, getRunName(tc.run)); err != nil {
+			if err := c.Reconciler.Reconcile(ctx, getRunName(tc.customRun)); err != nil {
 				t.Fatalf("Error reconciling: %s", err)
 			}
 			// Fetch the updated Run
-			reconciledRun, err := clients.Pipeline.TektonV1alpha1().Runs(tc.run.Namespace).Get(ctx, tc.run.Name, metav1.GetOptions{})
+			reconciledRun, err := clients.Pipeline.TektonV1beta1().CustomRuns(tc.customRun.Namespace).Get(ctx, tc.customRun.Name, metav1.GetOptions{})
 			if err != nil {
 				t.Fatalf("Error getting reconciled run from fake client: %s", err)
 			}
diff --git a/tekton-catalog/pipeline-loops/test/controller.go b/tekton-catalog/pipeline-loops/test/controller.go
index bd64048ac5..9d31c3e132 100644
--- a/tekton-catalog/pipeline-loops/test/controller.go
+++ b/tekton-catalog/pipeline-loops/test/controller.go
@@ -23,14 +23,12 @@ import (
 	"testing"
 
 	// Link in the fakes so they get injected into injection.Fake
-	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1"
 	"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
 	fakepipelineclientset "github.com/tektoncd/pipeline/pkg/client/clientset/versioned/fake"
-	informersv1alpha1 "github.com/tektoncd/pipeline/pkg/client/informers/externalversions/pipeline/v1alpha1"
 	informersv1beta1 "github.com/tektoncd/pipeline/pkg/client/informers/externalversions/pipeline/v1beta1"
 	fakepipelineclient "github.com/tektoncd/pipeline/pkg/client/injection/client/fake"
-	fakeruninformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1alpha1/run/fake"
 	fakeclustertaskinformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/clustertask/fake"
+	fakeCustomRunInformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/customrun/fake"
 	fakepipelineinformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/pipeline/fake"
 	fakepipelineruninformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/pipelinerun/fake"
 	faketaskinformer "github.com/tektoncd/pipeline/pkg/client/injection/informers/pipeline/v1beta1/task/fake"
@@ -64,7 +62,7 @@ type Data struct {
 	TaskRuns        []*v1beta1.TaskRun
 	Tasks           []*v1beta1.Task
 	ClusterTasks    []*v1beta1.ClusterTask
-	Runs            []*v1alpha1.Run
+	CustomRuns      []*v1beta1.CustomRun
 	Pods            []*corev1.Pod
 	Namespaces      []*corev1.Namespace
 	ConfigMaps      []*corev1.ConfigMap
@@ -84,7 +82,7 @@ type Informers struct {
 	PipelineRun    informersv1beta1.PipelineRunInformer
 	Pipeline       informersv1beta1.PipelineInformer
 	TaskRun        informersv1beta1.TaskRunInformer
-	Run            informersv1alpha1.RunInformer
+	CustomRun      informersv1beta1.CustomRunInformer
 	Task           informersv1beta1.TaskInformer
 	ClusterTask    informersv1beta1.ClusterTaskInformer
 	Pod            coreinformers.PodInformer
@@ -162,7 +160,7 @@ func SeedTestData(t *testing.T, ctx context.Context, d Data) (Clients, Informers
 		PipelineRun:    fakepipelineruninformer.Get(ctx),
 		Pipeline:       fakepipelineinformer.Get(ctx),
 		TaskRun:        faketaskruninformer.Get(ctx),
-		Run:            fakeruninformer.Get(ctx),
+		CustomRun:      fakeCustomRunInformer.Get(ctx),
 		Task:           faketaskinformer.Get(ctx),
 		ClusterTask:    fakeclustertaskinformer.Get(ctx),
 		Pod:            fakepodinformer.Get(ctx),
@@ -208,10 +206,10 @@ func SeedTestData(t *testing.T, ctx context.Context, d Data) (Clients, Informers
 			t.Fatal(err)
 		}
 	}
-	c.Pipeline.PrependReactor("*", "runs", AddToInformer(t, i.Run.Informer().GetIndexer()))
-	for _, run := range d.Runs {
+	c.Pipeline.PrependReactor("*", "customruns", AddToInformer(t, i.CustomRun.Informer().GetIndexer()))
+	for _, run := range d.CustomRuns {
 		run := run.DeepCopy() // Avoid assumptions that the informer's copy is modified.
-		if _, err := c.Pipeline.TektonV1alpha1().Runs(run.Namespace).Create(ctx, run, metav1.CreateOptions{}); err != nil {
+		if _, err := c.Pipeline.TektonV1beta1().CustomRuns(run.Namespace).Create(ctx, run, metav1.CreateOptions{}); err != nil {
 			t.Fatal(err)
 		}
 	}