github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/pkg/clients/tekton/bundles.go (about)

     1  package tekton
     2  
     3  import (
     4  	"context"
     5  
     6  	buildservice "github.com/redhat-appstudio/build-service/api/v1alpha1"
     7  	"github.com/redhat-appstudio/e2e-tests/pkg/utils/tekton"
     8  	"k8s.io/apimachinery/pkg/types"
     9  )
    10  
    11  type Bundles struct {
    12  	FBCBuilderBundle    string
    13  	DockerBuildBundle   string
    14  	JavaBuilderBundle   string
    15  	NodeJSBuilderBundle string
    16  }
    17  
    18  // NewBundles returns new Bundles.
    19  func (t *TektonController) NewBundles() (*Bundles, error) {
    20  	namespacedName := types.NamespacedName{
    21  		Name:      "build-pipeline-selector",
    22  		Namespace: "build-service",
    23  	}
    24  	bundles := &Bundles{}
    25  	pipelineSelector := &buildservice.BuildPipelineSelector{}
    26  	err := t.KubeRest().Get(context.Background(), namespacedName, pipelineSelector)
    27  	if err != nil {
    28  		return nil, err
    29  	}
    30  	for i := range pipelineSelector.Spec.Selectors {
    31  		selector := &pipelineSelector.Spec.Selectors[i]
    32  		bundleName, bundleRef := tekton.GetPipelineNameAndBundleRef(&selector.PipelineRef)
    33  		switch bundleName {
    34  		case "docker-build":
    35  			bundles.DockerBuildBundle = bundleRef
    36  		case "fbc-builder":
    37  			bundles.FBCBuilderBundle = bundleRef
    38  		case "java-builder":
    39  			bundles.JavaBuilderBundle = bundleRef
    40  		case "nodejs-builder":
    41  			bundles.NodeJSBuilderBundle = bundleRef
    42  		}
    43  	}
    44  	return bundles, nil
    45  }