@@ -780,13 +780,25 @@ func (impl *AppCloneServiceImpl) CreateCiPipeline(req *cloneCiPipelineRequest) (
780780 templateOverride := templateOverrideBean .CiTemplateOverride
781781 ciBuildConfig := templateOverrideBean .CiBuildConfig
782782 //getting new git material for this app
783- gitMaterial , err := impl .materialRepository .FindByAppIdAndCheckoutPath (req .appId , templateOverride .GitMaterial .CheckoutPath )
784- if err != nil {
785- impl .logger .Errorw ("error in getting git material by appId and checkoutPath" , "err" , err , "appid" , req .refAppId , "checkoutPath" , templateOverride .GitMaterial .CheckoutPath )
786- return nil , err
783+ //gitMaterial, err := impl.materialRepository.FindByAppIdAndCheckoutPath(req.appId, templateOverride.GitMaterial.CheckoutPath)
784+ if len (req .gitMaterialMapping ) == 0 {
785+ impl .logger .Errorw ("no git materials found for the app" , "appId" , req .appId )
786+ return nil , fmt .Errorf ("no git materials found for the app, %d" , req .appId )
787+ }
788+ gitMaterialId := req .gitMaterialMapping [ciBuildConfig .GitMaterialId ]
789+ buildContextGitMaterialId := req .gitMaterialMapping [ciBuildConfig .BuildContextGitMaterialId ]
790+ if gitMaterialId == 0 {
791+ for _ , id := range req .gitMaterialMapping {
792+ gitMaterialId = id
793+ break
794+ }
795+ }
796+ if buildContextGitMaterialId == 0 {
797+ buildContextGitMaterialId = gitMaterialId
787798 }
788- ciBuildConfig .GitMaterialId = gitMaterial .Id
789- templateOverride .GitMaterialId = gitMaterial .Id
799+ ciBuildConfig .GitMaterialId = gitMaterialId
800+ ciBuildConfig .BuildContextGitMaterialId = buildContextGitMaterialId
801+ templateOverride .GitMaterialId = gitMaterialId
790802 ciBuildConfig .Id = 0
791803 ciPatchReq .CiPipeline .DockerConfigOverride = bean.DockerConfigOverride {
792804 DockerRegistry : templateOverride .DockerRegistryId ,
0 commit comments